• 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);
    } 

     

      





     

  • 相关阅读:
    subprocess模块讲解
    正则
    logging日志模块
    2-30hashlib模块讲解
    json pickle复习 shelve模块讲解
    XML、PyYAML和configparser模块讲解
    os模块
    2-25sys模块和shutil模块讲解
    随机生成模块
    时间模块
  • 原文地址:https://www.cnblogs.com/leonkobe/p/3208576.html
Copyright © 2020-2023  润新知