Spring整合mybatis
时间: 2023-11-29 22:40:10 浏览: 101
spring整合Mybatis
Spring整合MyBatis是将Spring和MyBatis框架结合起来使用的一种方式,可以利用Spring提供的依赖注入、事务管理等特性,简化MyBatis的配置和使用过程。
实现步骤:
1.引入依赖
在pom.xml文件中引入Spring和MyBatis的依赖:
```
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.13</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.13</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.3.13</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
</dependencies>
```
2.配置数据源
在Spring的配置文件中配置数据源,可以使用Spring提供的数据源或者第三方数据源,例如Druid。
```
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
```
3.配置MyBatis的SqlSessionFactory
在Spring的配置文件中配置MyBatis的SqlSessionFactory,可以使用MyBatis提供的SqlSessionFactoryBean,也可以自定义SqlSessionFactory。
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.example.entity" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
```
4.配置MyBatis的MapperScannerConfigurer
在Spring的配置文件中配置MyBatis的MapperScannerConfigurer,用于扫描Mapper接口并生成代理对象。
```
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
```
5.配置事务管理器
在Spring的配置文件中配置事务管理器,可以使用Spring提供的事务管理器或者第三方事务管理器,例如Atomikos。
```
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
```
6.配置事务注解支持
在Spring的配置文件中配置事务注解支持,用于启用Spring的事务管理功能。
```
<tx:annotation-driven transaction-manager="transactionManager" />
```
7.编写Mapper接口和Mapper映射文件
在MyBatis的Mapper接口中定义SQL语句,并在Mapper映射文件中编写SQL语句的具体实现。
```
public interface UserMapper {
User findById(Long id);
}
<select id="findById" parameterType="java.lang.Long" resultType="com.example.entity.User">
select * from user where id = #{id}
</select>
```
8.注入Mapper接口并使用
在Spring中注入Mapper接口,并调用Mapper接口的方法。
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
public User findById(Long id) {
return userMapper.findById(id);
}
}
```
以上就是Spring整合MyBatis的基本步骤和流程,通过以上步骤可以快速搭建一个Spring+MyBatis的项目。
阅读全文