zoukankan      html  css  js  c++  java
  • Spring 整合mybatis 与 Mybatis 比较

    一 先来看 为整合的Mybatis 使用过程
    1 接口服务
    public interface ServerDao{
    public User selUser(username);//根据用户名查找用户对象信息 
    }

    2 接口服务对应的sql映射文件(serverdao.xml)
    //xml 前缀。。。
    <mapper namespace="Mapper.ServerDao"> 
        <select id="selUser" resultType="User" parameterType="String">
           select * from user where username = #{username}

    </select>
    </mapper>

    3 mybatis_config 配置
    //xml 前缀。。。
    <configuration>
    <environments default="development">
    //配置数据源
    <environment id="development"> 
    <transactionManager type="jdbc"/> 
    <dataSource type="POOLED"> 
    <property name="driver" value="oracle.jdbc.driver.OracleDriver"/> 
    <property name="url" value="jdbc:oracle:thin:@192.168.56.201:1521:system"/> 
    <property name="username" value="vincent"/> 
    <property name="password" value="1234"/> 
    </dataSource> 
    </environment> 
    </environments> 

    //配置拥有的 映射文件
    <mappers> 
    <mapper resource="serverdao.xml" /> 
    </mappers> 

    </configuration>

    4 dao 类

          String resource = "resource/mybatis-config.xml";
     Reader reader = null;
     reader = Resources.getResourceAsReader(resource);
     sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);//可连接数据库 且拥有了sql映射配置
     
    SqlSession sqlSession = sqlSessionFactory.openSession();
     ServerDao serverDao = sqlSession.getMapper(ServerDao.class); //个人理解 根据类名和xml文件名相同来匹配 将服务接口和对应的SQL操作匹配映射
     User user = serverDao.selUser("jun");
     //sqlSession.commit();插入操作这里一定要提交,不然数据进不去数据库中
     sqlSession.close();

    二:Spring 整合mybatis配置
    1 映射器接口
            public interface ServerDao{
    public User selUser(username);//根据用户名查找用户对象信息 
      }

        2 映射接口 与 sql 的映射文件(serverdao.xml)
    //xml 前缀。。。
    <mapper namespace="Mapper.ServerDao"> 
    <select id="selUser" resultType="User" parameterType="String">

           select * from user where username = #{username}
      </select>
    </mapper>


    3 数据源的配置 不用在mybatis 中配置了,交给spring来管理, 同样 sqlSessionFactory 的bean 创建也交给spring来管理,同时指明 dao的服务接口
    <xml 前缀>
    <beans xmlns:....>
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
     
    <property name="driverClassName"> <value>oracle.jdbc.driver.OracleDriver</value> </property>
     <property name="url"> <value>jdbc:oracle:thin:@192.168.1.134:1521:orcl</value> </property>
     <property name="username"> <value>scott</value> </property>
     
    <property name="password"> <value>oracle</value> </property>
     
    </bean>

    <!-- 配完数据源 和 拥有的 sql映射文件 sqlSessionFactory 也可以访问数据库 和拥有 sql操作能力了-->
     
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
     
    <property name="configLocation" value="classpath:/config/mybatis-config.xml"></property>
    <property name="dataSource" ref="dataSource" />
     
    </bean>

    <!-- 通过设置 mapperInterface属性,使接口服务bean 和对应xml文件管理 可以使用其中的sql -->
    <bean id="serverDao" class="org.mybatis.spring.mapper.MapperFactoryBean" >
    <!-- 此处等同于 Mybatis 中 ServerDao serverDao = sqlSession.getMapper(ServerDao.class); 指明映射关系-->
     <property name="mapperInterface" value="com.azc.dao.ServerDao" /> 
    <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean> 

    </beans>


    4 mybatis_config.xml  文件不需要在配置数据源,只需要指明对应的映射xml文件jike
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
     <mappers>
     <mapper resource="com/azc/dao/UserDao.xml"/>
     </mappers>
    </configuration>

    5调用时
    注入该接口的一个 上溯对象
    Class Demo{
    private ServerDao serverDao;
    //set  get Method....
    serverDao.selUser(username);
    } 

     

      





     

  • 相关阅读:
    POJ 1811 Prime Test 素性测试 分解素因子
    sysbench的安装与使用
    电脑中已有VS2005和VS2010安装.NET3.5失败的解决方案
    I.MX6 show battery states in commandLine
    RPi 2B Raspbian system install
    I.MX6 bq27441 driver porting
    I.MX6 隐藏电池图标
    I.MX6 Power off register hacking
    I.MX6 Goodix GT9xx touchscreen driver porting
    busybox filesystem httpd php-5.5.31 sqlite3 webserver
  • 原文地址:https://www.cnblogs.com/leonkobe/p/3208576.html
Copyright © 2011-2022 走看看