LambdaQueryWrapper和QueryWapper的区别

1、QueryWrapper的使用方式

QueryWrapper<User> wrapper = new QueryWrapper<User>()  .eq(StringUtils.isNotBlank(user.getNickName()), "nick", user.getNickName())
.eq(user.getId() != null,"id", user.getId());
List<User> userList = userDao.selectList(wrapper);

2、LambdaQueryWrapper的使用方式

LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
        .eq(StringUtils.isNotBlank(user.getNickName()), User::getNickName, user.getNickName())
        .eq(user.getId() != null, User::getId, user.getId());
  List<User> userList = userDao.selectList(wrapper);

3、使用区别 QueryWrapper 的列名匹配使用的是 “数据库中的字段名(一般是下划线规则)” LambdaQueryWrapper 的列名匹配使用的是“Lambda的语法,偏向于对象”

4、LambdaQueryWrapper的优点 不用写“列名”,而是使用纯java的方式,避免了拼写错误(LambdaQueryWrapper的写法如果有错,则在编译期就会报错,而QueryWrapper需要运行的时候调用该方法才会报错)

经验分享 程序员 微信小程序 职场和发展