以下是 UpdateWrapper 的一些常用方法和用法:
1. 等值更新条件
- eq: 等于
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("age", 25);
2. 不等值更新条件
- ne: 不等于
updateWrapper.ne("age", 25);
3. 模糊查询更新条件
- like: 模糊查询
updateWrapper.like("name", "John");
- notLike: 不匹配
updateWrapper.notLike("name", "Tom");
4. 范围更新条件
- between: 在范围内
updateWrapper.between("age", 20, 30);
- notBetween: 不在范围内
updateWrapper.notBetween("age", 20, 30);
5. 大小比较更新条件
- gt: 大于
updateWrapper.gt("age", 25);
- ge: 大于等于
updateWrapper.ge("age", 25);
- lt: 小于
updateWrapper.lt("age", 30);
- le: 小于等于
updateWrapper.le("age", 30);
6. 为空/不为空更新条件
- isNull: 为空
updateWrapper.isNull("email");
- isNotNull: 不为空
updateWrapper.isNotNull("email");
7. IN 更新条件
- in: 在给定集合内
updateWrapper.in("age", Arrays.asList(25, 30, 35));
- notIn: 不在给定集合内
updateWrapper.notIn("age", Arrays.asList(18, 40));
8. 设置更新值
- set: 设置要更新的字段和值
updateWrapper.set("name", "NewName")
.set("age", 26);
9. 自增/自减操作
- **set 中使用 SQL 片段进行自增/自减
updateWrapper.set("age", 26)
.setSql("age = age + 1");
10. 嵌套条件
UpdateWrapper 同样支持嵌套条件构造,可以通过 nested 方法来构建嵌套条件。
updateWrapper.eq("name", "John")
.nested(i -> i.gt("age", 25).or().lt("age", 20));
这表示更新名字为 "John",且年龄大于 25 或小于 20 的记录。
以上是 UpdateWrapper 的一些常见用法,通过这些方法,你可以轻松构建各种灵活的更新条件,而无需编写复杂的 SQL 语句。UpdateWrapper 还提供了其他一些方法,如 last 用于追加 SQL 片段、apply 用于根据条件应用 SQL 片段等,具体可查阅 MyBatis-Plus 官方文档。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7054/MyBatis