MybatisPlus

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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值