在springboot中使用mybatis
时间: 2024-09-09 14:04:44 浏览: 24
在Spring Boot中集成MyBatis,可以让你更方便地将ORM(对象关系映射)技术与Spring框架结合使用,简化数据库操作。以下是基本步骤:
1. **添加依赖**:
- 首先,在你的`pom.xml`文件中添加MyBatis的starter和SqlSessionFactoryBean相关的依赖:
```xml
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<!-- 如果需要连接池 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
```
2. **配置数据源**:
- 创建或配置一个DataSource bean,这通常是通过`@ConfigurationProperties`自动配置的。例如,如果你使用的是`application.properties`:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
```
3. **创建Mapper接口**:
- 创建一个接口,继承自`Mapper<T>`,这里的T是你想要映射到的对象类型,比如`UserMapper`:
```java
public interface UserMapper {
List<User> findAll();
}
```
4. **编写XML映射文件**:
- 在resources目录下创建一个mapper包,并在其中创建对应于Mapper接口的XML文件,如`UserMapper.xml`,描述SQL查询:
```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.demo.mapper.UserMapper">
<select id="findAll" resultType="com.example.demo.entity.User">
SELECT * FROM user;
</select>
</mapper>
```
5. **扫描Mapper接口**:
- 使用`@MapperScan`注解来告诉Spring Boot扫描Mapper接口所在的包,使其能够自动注册:
```java
@MapperScan("com.example.demo.mapper")
```
6. **注入Service**:
- 创建一个Service类,注入`UserMapper`,并在其中使用它来执行数据库操作。
7. **注入到Controller**:
- 最后,在Controller层,你可以直接使用@Autowired注入Service并调用其方法,无需手动创建SqlSession。