1. 实体类注解
#非库表字段注解: @TableField(exist = false)
#库表主键注解: @TableId(value = "ID", type = IdType.AUTO)
2. 查询
2.1 LambdaQueryWrapper 的查询
public ResponseInfo pagelist(DeviceTypeSerialPageParam param, boolean b) { LambdaQueryWrapper<AdmDevTypeSerial> wrapper = Wrappers.lambdaQuery(AdmDevTypeSerial.class) .select( AdmDevTypeSerial::getId, AdmDevTypeSerial::getDeviceCategory, AdmDevTypeSerial::getDeviceType, AdmDevTypeSerial::getDeviceSN, AdmDevTypeSerial::getExpireTime ); if (StringUtils.isNotEmpty(param.getDeviceSN())) { wrapper.like(AdmDevTypeSerial::getDeviceSN, param.getDeviceSN()); } // 设置分页 Page<AdmDevTypeSerial> page = new Page<>(); page.setSize(param.getPageSize()); page.setCurrent(param.getPageNum()); admDevTypeSerialMapper.selectPage(page, wrapper); return ResponseUtil.build(ReturnCode.Success, page); }
Wrapper<PersonRelativeEntity> wrapper = new EntityWrapper<PersonRelativeEntity>() .eq(Objects.nonNull(personId), "PERSON_ID", personId) .eq(Objects.nonNull(relativeId), "RELATIVE_ID", relativeId) .eq(Objects.nonNull(relativeType), "TYPE", relativeType) .in(CollectionUtils.isNotEmpty(relativeIds), "RELATIVE_ID", relativeIds);
2.2 构建查询条件,创建LambdaQueryWrapper对象
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
eq,等于: wrapper.eq(User::getName, "张三");
ne,不等于: wrapper.ne(User::getAge, 18); 等价于SQL语句: SELECT * FROM user WHERE age <> 18;
gt,大于: wrapper.gt(User::getAge, 18);
ge,大于等于: wrapper.ge(User::getAge, 18);
lt,小于: wrapper.lt(User::getAge, 18);
le,小于等于: wrapper.le(User::getAge, 18);
like,模糊 wrapper.like(User::getName, "张%");
in,查询 List<String> names = Arrays.asList("张三", "李四", "王五");
wrapper.in(User::getName, names);
2.3 组合查询条件,LambdaQueryWrapper支持多个查询条件的组合,常用的有以下几种
(1)and方法:AND组合查询条件
wrapper.eq(User::getName, "张三").and(wrapper1 -> wrapper1.gt(User::getAge, 18));
(2)or方法:OR组合查询条件
wrapper.eq(User::getName, "张三").or(wrapper1 -> wrapper1.gt(User::getAge, 18));
2.4 排序和分页
(1)升序orderByAsc wrapper.orderByAsc(User::getAge);
(2)降序orderByDesc wrapper.orderByDesc(User::getAge);
(3)last方法:在查询语句的最后面添加SQL语句 wrapper.last("LIMIT 10");
(4)page方法:分页查询
Page<User> page = new Page<>(1, 10);
wrapper.eq(User::getName, "张三").page(page);