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     测试代码

 

转载于:https://www.cnblogs.com/ChinaHook/p/5533622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值