美文网首页
Mybatis中LambdaQueryWrapper和Lambd

Mybatis中LambdaQueryWrapper和Lambd

作者: pumpdev | 来源:发表于2022-11-03 09:54 被阅读0次
  • 使用mybatis-plus查询的时候经常会使用到QueryWrapper来构建查询条件,然而我们在写查询属性的时候由于字段名是手动输入的很容易写错字段名,例如:
QueryWrapper wrapper = new QueryWrapper();
// 手写字段名,很容易写错("department_id")
wrapper.eq("department_id", id);
wrapper.eq("is_del", Constant.DeleteFlag.COMMON_INT);
List<ProdPersonnel> data = this.list(wrapper);
  • 建议使用LambdaQueryWrapper来构造查询条件,使用起来美观且不易出错:
// 使用Lamda写法,不会写错字段名,优雅且简单
LambdaQueryWrapper<ProdPersonnel> lambda = new QueryWrapper<ProdPersonnel>()
        .lambda()
        .eq(ProdPersonnel::getDepartmentId, id)
        .eq(ProdPersonnel::getIsDel, Constant.DeleteFlag.COMMON_INT);
List<ProdPersonnel> data = this.list(lambda);
  • 同时也适用于更新语句UpdateWapper:
LambdaUpdateWrapper<Object> lambda = new UpdateWrapper<>()
        .lambda()
        .eq(ProdPersonnel::getDepartmentId, id)
        .eq(ProdPersonnel::getIsDel, Constant.DeleteFlag.COMMON_INT)
        .set(ProdPersonnel::getName, name);
this.update(lambda);

相关文章

网友评论

      本文标题:Mybatis中LambdaQueryWrapper和Lambd

      本文链接:https://www.haomeiwen.com/subject/kcostdtx.html