【热门框架】Mybatis-Plus条件查询的三种格式

Mybatis-Plus 提供了三种常用的条件查询方式,分别是 Wrapper、QueryWrapper、LambdaQueryWrapper。

  1. Wrapper

Wrapper 是一个接口,提供了若干个构造方法,可以用来构建 where 条件,例如:

Wrapper<User> wrapper = new Wrapper<User>() {
    @Override
    public String getSqlSegment() {
        return "where age > 18 and email like '%@163.com'";
    }
};
List<User> userList = userMapper.selectList(wrapper);

这里使用匿名内部类创建了一个 Wrapper 对象,然后实现了 getSqlSegment 方法来返回 where 条件语句。

  1. QueryWrapper

QueryWrapper 是 Wrapper 的子类,提供了更加方便的条件构造方法,例如:

QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
    .gt("age", 18)
    .likeRight("email", "@163.com");
List<User> userList = userMapper.selectList(queryWrapper);

这里使用 QueryWrapper 的 gt 方法来添加 age 大于 18 的条件,使用 likeRight 方法添加 email 以 “@163.com” 结尾的条件。

  1. LambdaQueryWrapper

LambdaQueryWrapper 也是 QueryWrapper 的子类,可以使用 lambda 表达式来构建条件,例如:

LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<User>()
    .gt(User::getAge, 18)
    .likeRight(User::getEmail, "@163.com");
List<User> userList = userMapper.selectList(lambdaQueryWrapper);

这里使用 lambda 表达式分别表示 age 大于 18 和 email 以 “@163.com” 结尾的条件。

以上三种方式都可以用于 select、delete 和 update 操作。

猜你喜欢

转载自blog.csdn.net/IamBird/article/details/130463509