1. QueryWrapper
QueryWrapper 是用于构建查询条件的选装件,可以通过链式调用的方式构建多条件查询。例如:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25)
.like("name", "John")
.between("create_time", "2022-01-01", "2022-12-31");
List<User> userList = userMapper.selectList(queryWrapper);
在这个例子中,eq 表示等于,like 表示模糊查询,between 表示在指定范围内。通过 QueryWrapper 可以构建更加复杂的查询条件。
2. UpdateWrapper
UpdateWrapper 是用于构建更新条件的选装件,可以通过链式调用的方式构建多条件更新。例如:
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("name", "NewName")
.eq("age", 25);
userMapper.update(null, updateWrapper);
在这个例子中,set 表示要更新的字段和值,eq 表示等于。通过 UpdateWrapper 可以构建更加复杂的更新条件。
3. LambdaQueryWrapper 和 LambdaUpdateWrapper
LambdaQueryWrapper 和 LambdaUpdateWrapper 是使用 Lambda 表达式构建条件的选装件,提供了类型安全的方式构建查询和更新条件。例如:
LambdaQueryWrapper<User> lambdaQueryWrapper = Wrappers.lambdaQuery(User.class);
lambdaQueryWrapper.eq(User::getAge, 25)
.like(User::getName, "John");
List<User> userList = userMapper.selectList(lambdaQueryWrapper);
在这个例子中,通过 Lambda 表达式指定字段,提高了类型安全性。
4. 其他选装件
除了上述的选装件外,MyBatis-Plus 还提供了其他一些选装件,如 EntityWrapper、AbstractWrapper 等,可以根据实际需求选择使用。这些选装件可以更灵活地构建各种复杂的查询和更新条件。
EntityWrapper<User> entityWrapper = new EntityWrapper<>();
entityWrapper.eq("age", 25)
.like("name", "John");
List<User> userList = userMapper.selectList(entityWrapper);
总的来说,MyBatis-Plus 提供的选装件使得在 Mapper 层构建灵活、复杂的查询和更新条件变得更加容易,同时提高了代码的可读性。你可以根据项目的需求选择合适的选装件,详细的用法和示例可以参考 MyBatis-Plus 的官方文档。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7048/MyBatis