zoukankan      html  css  js  c++  java
  • mybatis系列-16-spring和mybatis整合

    16.1     整合思路

      需要spring通过单例方式管理SqlSessionFactory。

      spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)

      持久层的mapper都需要由spring进行管理。

    16.2     整合环境

      创建一个新的java工程(接近实际开发的工程结构)

      jar包:

      mybatis3.2.7的jar包

      spring3.2.0的jar包

      mybatis和spring的整合包:早期ibatis和spring整合是由spring官方提供,mybatis和spring整合由mybatis提供。

     

      全部jar包

     

     

    16.3     sqlSessionFactory

      在applicationContext.xml配置sqlSessionFactory和数据源

      sqlSessionFactory在mybatis和spring的整合包下。

      <!-- 加载配置文件 -->
       <context:property-placeholder location="classpath:db.properties" />
    
       <!-- 数据源,使用dbcp -->
       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
          <property name="driverClassName" value="${jdbc.driver}" />
          <property name="url" value="${jdbc.url}" />
          <property name="username" value="${jdbc.username}" />
          <property name="password" value="${jdbc.password}" />
          <property name="maxActive" value="10" />
          <property name="maxIdle" value="5" />
       </bean>
    
       <!-- sqlSessinFactory -->
       <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
          <!-- 加载mybatis的配置文件 -->
          <property name="configLocation" value="mybatis/SqlMapConfig.xml" />
          <!-- 数据源 -->
          <property name="dataSource" ref="dataSource" />
       </bean>

    16.4     原始dao开发(和spring整合后)

    16.4.1     User.xml

     

      在SqlMapconfig.xml中加载User.xml

     

    16.4.2     dao(实现类继承SqlSessionDaoSupport)

     

      dao接口实现类需要注入SqlSessoinFactory,通过spring进行注入。

      这里spring声明配置方式,配置dao的bean:

      让UserDaoImpl实现类继承SqlSessionDaoSupport

     

    16.4.3     配置dao

      在applicationContext.xml中配置dao。

     

    16.4.4     测试程序

     

    16.5     mapper代理开发

    16.5.1     mapper.xml和mapper.java

     

    16.5.2     通过MapperFactoryBean创建代理对象

     

      此方法问题:

      需要针对每个mapper进行配置,麻烦。

    16.5.3     通过MapperScannerConfigurer进行mapper扫描(建议使用)

     

    16.5.4     测试代码

     

  • 相关阅读:
    VS自带的诊断工具
    Electron学习
    PC跨*台
    .NET调试学习
    Mac使用
    SSL/TLS
    UKey学习
    授权机制OAuth、JWT
    代理服务器
    .NET相关源码查找
  • 原文地址:https://www.cnblogs.com/ChinaHook/p/5533622.html
Copyright © 2011-2022 走看看