Spring整合Mybatis首先要将原有的mybatis配置移植到spring的配置文件中。
1.数据源的移植:
<!-- 配置jdbc相关配置文件路径 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 配置数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" 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="initialSize" value="3"/>
<property name="maxActive" value="5"/>
</bean>
#jdbc相关配置
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/wxmall?useUnicode=true&characterEncoding=UTF-8
jdbc.userName=root
jdbc.password=root
2.配置sqlSessionFactoryBean,之前mybatis文件中的mapper/plugin
<!-- 配置sqlSessionFactoryBean -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 自定义拦截器 -->
<!-- <property name="plugins" ref="myInterceptor"/> -->
<!-- mapper文件路径 -->
<property name="mapperLocations" value="classpath:mappings/*.xml"/>
</bean>
<!-- 自定义拦截器 -->
<!-- <bean id="myInterceptor" class="com.demo.plugin.MyInterceptor"/>-->
3.配置mapperScanner,配置好mapperScanner后就不需要自己写dao层的实现类了,mybatis会代理这部分操作
<bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- dao层接口包路径 -->
<property name="basePackage" value="com.demo.dao"/>
<!-- sqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
下面放一个配置对比图: