Skip to main content

条件查询

David LiuLess than 1 minute

条件查询

Wrapper 传统写法

示例:

QueryWrapper<User> qw = new QueryWrapper<>();
qw.lt("age", 10);
List<User> userList = userDao.selectList(qw);

缺点:

  • 字段名无提示,容易写错

Wrapper Lambda 写法

示例:

QueryWrapper<User> qw = new QueryWrapper<>();
qw.lambda().lt(User::getAge, 10);
List<User> userList = userDao.selectList(qw);

缺点:

  • 多个条件时反复写.lambda(),产生冗余

🌟 Lambda Wrapper 写法

LambdaQueryWrapper<User> lqw = new QueryWrapper<>();
// 同时写多个条件直接连接时为并且,如果需要或则.or()
lqw.gt(User::getAge, 10).lt(User::getAge, 30);
// lqw.gt(User::getAge, 10).or().lt(User::getAge, 30);
List<User> userList = userDao.selectList(lqw);

条件关系

链式编程

  • 并且

    直接相连

  • 或者

    .or()