spring和MyBatis整合:
导入spring和MyBatis的整合jar包,以及其依赖jar包;
导入MyBatis和spring的整合jar包。
spring的核心jar包。
定义Mybatis的配置文件:映射文件,主配置文件;
修改spring的配置文件
MapperScannerConfigurer 配置:
<!--注册SqlSessionFactory对象-->
<bean id="mySqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="configLocation" value="mybatis.xml"/>
</bean>
<!--注册Dao的代理对象-->
<!--<bean id="studentDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.abc.dao.IStudentDao"/>
<property name="sqlSessionFactory" ref="mySqlSessionFactory"/>
</bean>-->
<!--使用MapperScannerConfigurer时,生成的代理对象名称为对应接口的简单类名-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.abc.dao"/>
<property name="sqlSessionFactoryBeanName" value="mySqlSessionFactory"/>
</bean>
MyBatis-Spring 提供了一个动态代理的实现:MapperFactoryBean。
这个类 可以让你直接注入数据映射器接口到你的 service 层 bean 中。当使用映射器时,你仅仅如调 用你的 DAO 一样调用它们就可以了,但是你不需要编写任何 DAO 实现的代码,因为 MyBatis-Spring 将会为你创建代理。
Demo:GitHub的09-spring-mybatis
参考: