00. MyBatisPlus 入门

MyBatis-Plus 官网
https://baomidou.com/

快速开始

假设我们已存在一张 User 表,且已有对应的实体类 User,实现 User 表的 CRUD 操作我们需要做什么呢?

1
2
/** User 对应的 Mapper 接口 */
public interface UserMapper extends BaseMapper<User> { }

基本 CRUD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 初始化 影响行数
int result = 0;
// 初始化 User 对象
User user = new User();

// 插入 User (插入成功会自动回写主键到实体类)
user.setName("Tom");
result = userMapper.insert(user);

// 更新 User
user.setAge(18);
result = userMapper.updateById(user);

// 查询 User
User exampleUser = userMapper.selectById(user.getId());

// 查询姓名为 ‘张三’ 的所有用户记录
List<User> userList = userMapper.selectList(
new EntityWrapper<User>().eq("name", "张三")
);

// 删除 User
result = userMapper.deleteById(user.getId());

mp 对 null 竟然跳过, 针对 inert 和 update 语句的时候

mp 默认使用驼峰转下划线
使用 tableId 指定 id
tablefiled 指定字段名

排除非表字段的三种方式

transient
static
@tablefiled 然后 exists 设置为 false

查询

条件查询构造器

AbstractWrapper

数据库操作, 无外乎增删查改.

select 查询简单
insert or update
delete

配置依赖