spring和mybatis整合
1.整合思路:
需要spring通过单例方式管理SqlSessionFactory。spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)持久层的mapper都需要由spring进行管理。
2.整合环境:
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>
4.原始DAO开发(和spring整个后)
5. DAO(实现类继承sqlSessionDaoSupport)
6 配置DAO:
在applicationContext.xml中配置dao:
7.测试代码:
9. mapper代理开发:
通过MapperScannerConfigure进行mapper扫描(建议使用)
测试代码: