1. QueryWrapper
QueryWrapper 用于构建查询条件,支持链式调用。以下是一些常见的用法:
- 等值条件:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25);
- 模糊查询:
queryWrapper.like("name", "John");
- 范围查询:
queryWrapper.between("age", 20, 30);
- 排序:
queryWrapper.orderByDesc("age");
- 多条件组合查询:
queryWrapper.eq("age", 25)
.like("name", "John")
.between("create_time", "2022-01-01", "2022-12-31");
2. UpdateWrapper
UpdateWrapper 用于构建更新条件,同样支持链式调用。以下是一些常见的用法:
- 等值更新:
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("name", "NewName")
.eq("age", 25);
- 自增、自减操作:
updateWrapper.set("age", 26)
.setSql("age = age + 1");
3. LambdaQueryWrapper 和 LambdaUpdateWrapper
LambdaQueryWrapper 和 LambdaUpdateWrapper 是使用 Lambda 表达式构建条件的方式,提供了类型安全的查询和更新条件构建:
LambdaQueryWrapper<User> lambdaQueryWrapper = Wrappers.lambdaQuery(User.class);
lambdaQueryWrapper.eq(User::getAge, 25)
.like(User::getName, "John");
LambdaUpdateWrapper<User> lambdaUpdateWrapper = Wrappers.lambdaUpdate(User.class);
lambdaUpdateWrapper.set(User::getName, "NewName")
.eq(User::getAge, 25);
这样的写法提高了类型安全性。
以上是 MyBatis-Plus 条件构造器的基本用法,通过这些条件构造器,你可以轻松构建复杂的查询和更新条件,而不必直接编写 SQL 语句。根据实际需求,你可以选择合适的条件构造器,并灵活地组合各种条件,使得数据库操作更加方便和可读。 MyBatis-Plus 还提供了更多的高级功能,如 QueryWrapper 的嵌套查询、自定义 SQL 片段等,可以根据需要查阅文档来深入了解。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7051/MyBatis