spring整合mybatis原理和总结
时间: 2023-07-22 18:08:30 浏览: 107
spring和mybatis整合
Spring整合MyBatis的原理可以总结为以下几步:
1. 配置数据源:在Spring配置文件中配置数据源,可以使用Spring自带的数据源或第三方数据源。
2. 配置SqlSessionFactory:SqlSessionFactory是MyBatis的核心配置对象,可以通过Spring的MyBatis-Spring模块来配置SqlSessionFactory。
3. 配置MapperScannerConfigurer:MapperScannerConfigurer是MyBatis-Spring模块提供的一个扫描器,用于自动扫描Mapper接口并注册到Spring容器中。
4. 配置事务管理器:Spring提供了多种事务管理器,可以根据实际情况来选择。
总结一下,Spring整合MyBatis的过程就是将MyBatis的核心配置对象SqlSessionFactory和Mapper接口通过Spring的容器管理起来,并且使用Spring提供的事务管理器来管理事务。
具体的步骤如下:
1. 在Spring配置文件中配置数据源,可以使用Spring自带的数据源或第三方数据源。例如:
```
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
```
2. 配置SqlSessionFactory,可以使用MyBatis-Spring模块提供的SqlSessionFactoryBean来配置。例如:
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.example.model" />
<property name="mapperLocations" value="classpath*:com/example/mapper/*.xml" />
</bean>
```
其中,typeAliasesPackage用于指定实体类所在的包,mapperLocations用于指定Mapper XML文件所在的路径。
3. 配置MapperScannerConfigurer,可以使用MyBatis-Spring模块提供的MapperScannerConfigurer来配置。例如:
```
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
</bean>
```
其中,basePackage用于指定Mapper接口所在的包。
4. 配置事务管理器,可以使用Spring提供的事务管理器。例如:
```
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
```
最后,在Service层的方法上添加@Transactional注解即可实现事务管理。
综上所述,Spring整合MyBatis的过程比较简单,只需要配置几个关键的对象即可。同时,Spring提供了很多方便的注解和工具类,可以更加方便地使用MyBatis。
阅读全文