MyBatis与Spring的整合
时间: 2023-06-13 13:04:28 浏览: 117
MyBatis是一款优秀的持久层框架,而Spring是一款优秀的应用框架,两者的整合可以使得我们更加方便地使用MyBatis进行数据库访问。
整合步骤如下:
1. 引入相关依赖
在pom.xml文件中引入MyBatis和Spring相关的依赖,例如:
```
<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>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.9</version>
</dependency>
```
2. 配置数据源
在Spring配置文件中配置数据源,例如:
```
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
```
其中,${jdbc.driverClassName}、${jdbc.url}、${jdbc.username}、${jdbc.password}需要在properties文件中配置。
3. 配置SqlSessionFactoryBean
在Spring配置文件中配置SqlSessionFactoryBean,例如:
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
```
其中,mybatis-config.xml是MyBatis的配置文件。
4. 配置MapperScannerConfigurer
在Spring配置文件中配置MapperScannerConfigurer,例如:
```
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
</bean>
```
其中,com.example.mapper是Mapper接口所在的包。
5. 编写Mapper接口和Mapper映射文件
在com.example.mapper包下,编写Mapper接口和Mapper映射文件。
例如,UserMapper接口:
```
public interface UserMapper {
User selectUserById(int id);
}
```
例如,UserMapper.xml:
```
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectUserById" resultType="com.example.entity.User">
select * from user where id = #{id}
</select>
</mapper>
```
6. 使用Mapper接口
在Spring中,可以使用@Autowired注解注入Mapper接口实例,例如:
```
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(int id) {
return userMapper.selectUserById(id);
}
}
```
至此,MyBatis和Spring的整合就完成了。
阅读全文