mybatis如何封装通用mapper增删改查
时间: 2025-06-28 09:05:01 浏览: 13
### 使用 MyBatis Plus 封装通用 Mapper 实现 CRUD 操作
#### 创建项目依赖
为了使用 MyBatis Plus 进行开发,需在项目的 `pom.xml` 文件中引入必要的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
```
#### 定义实体类
假设有一个名为 `User` 的实体类,该类对应数据库中的 `users` 表。
```java
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
}
```
#### 配置数据源和 MyBatis Plus
配置文件 `application.yml` 中设置数据源连接和其他必要属性:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
```
#### 编写 Mapper 接口继承 BaseMapper
创建一个接口并让其扩展自 `BaseMapper<T>` 类来获得基本的 CRUD 方法支持。
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {}
```
#### 测试 CRUD 功能
编写单元测试验证上述功能是否正常工作。
```java
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class UserServiceTests {
@Autowired
private UserMapper userMapper;
@Test
void testInsert() {
User user = new User();
user.setName("John Doe");
user.setAge(30);
int result = userMapper.insert(user); // 插入新纪录
System.out.println(result > 0 ? "插入成功" : "插入失败");
}
@Test
void testDeleteById(){
boolean success = userMapper.deleteById(1L);
System.out.println(success ? "删除成功":"删除失败");
}
@Test
void testUpdateById(){
User user = new User();
user.setId(1L);
user.setName("Jane Smith");
user.setAge(29);
int rowsAffected = userMapper.updateById(user);
System.out.println(rowsAffected > 0?"更新成功":"更新失败");
}
@Test
void testSelectList(){
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}
```
通过以上步骤可以快速搭建起基于 MyBatis Plus 的应用程序框架,并利用内置的基础方法完成常见的增删改查操作[^1]。
阅读全文
相关推荐



















