Springboot中Mapper
时间: 2025-04-29 10:26:51 浏览: 17
### Spring Boot 中使用 Mapper 进行数据库操作
#### 1. 添加依赖
为了使 Spring Boot 能够与 MyBatis 配合工作,需在项目的 `pom.xml` 文件中引入必要的依赖项[^1]。
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
```
#### 2. 创建实体类 (Entity)
定义一个简单的 Java 类表示数据模型。例如:
```java
public class User {
private Long id;
private String name;
private Integer age;
// Getters and Setters...
}
```
#### 3. 编写 Mapper 接口
创建 DAO 层接口,并通过 @Mapper 注解将其注册至 Spring 容器内[^2]。
```java
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface UserMapper {
List<User> findAll();
int insert(User user);
void deleteById(Long id);
// Other CRUD operations...
}
```
注意,在这里同时应用了两个注解:`@Mapper` 和 `@Repository`。前者确保接口能够被识别为 MyBatis 的 mapper 并自动生成实现;后者则告知 Spring 此组件属于持久化层的一部分,从而更好地处理异常传播等问题。
#### 4. 编写 SQL 映射文件 (`UserMapper.xml`)
对于较为复杂的查询语句或其他不适合直接嵌入到接口中的逻辑,可以通过 XML 形式的配置文件来描述。下面展示了一个基本的例子[^3]。
```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">
<!-- resultMap 可选部分省略 -->
<select id="findAll" resultType="com.example.entity.User">
SELECT * FROM users ORDER BY id DESC
</select>
<insert id="insert" parameterType="com.example.entity.User">
INSERT INTO users(name,age) VALUES(#{name}, #{age})
</insert>
<delete id="deleteById">
DELETE FROM users WHERE id=#{id}
</delete>
</mapper>
```
以上即完成了基于 Spring Boot + MyBatis 构建简单应用程序所需的主要步骤。当然实际项目里可能还会涉及到更多细节设置以及优化措施。
阅读全文
相关推荐


















