MybatisPlus中的查询条件

Mybatis-Plus是Mybatis的增强工具包,提供了很多便捷的功能,包括自动生成代码、分页、排序、条件查询等。除了LambdaQueryWrapper,Mybatis-Plus中还有以下几种用于定义查询条件的工具:

  1. QueryWrapper: 支持设置查询条件、排序方式等,类似LambdaQueryWrapper,但是使用Java的链式调用方式实现。例如:

    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.eq("name", "Tom").lt("age", 18).orderByDesc("id").last("limit 10");
    List<User> users = userMapper.selectList(wrapper);
    
  2. UpdateWrapper: 与QueryWrapper类似,用于设置更新条件。例如:

    UpdateWrapper<User> wrapper = new UpdateWrapper<>();
    wrapper.set("age", user.getAge()).eq("name", user.getName());
    userMapper.update(null, wrapper);
    
  3. LambdaUpdateWrapper: 类似LambdaQueryWrapper,使用Lambda表达式设置更新条件。例如:

    LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
    wrapper.set(User::getAge, user.getAge()).eq(User::getName, user.getName());
    userMapper.update(null, wrapper);
    
  4. QueryParam: 用于传递查询条件,在Mapper接口中定义方法时将QueryParam类型参数作为函数参数即可,例如:

List<User> selectByQueryParam(@Param(Constants.WRAPPER) QueryWrapper<User> queryWrapper);

调用时,用QueryWrapper对查询条件进行设置:

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "Tom").lt("age", 18).orderByDesc("id").last("limit 10");
userMapper.selectByQueryParam(queryWrapper);

除了以上几个工具,Mybatis-Plus还提供了Wrapper接口,可用于自定义条件查询。同时Mybatis-Plus提供了一些实用的方法,例如in、not in、between等,可以方便地构造查询条件。

你可能感兴趣的:(mybatis,java,开发语言)