mybatis-plus LambdaQueryWrapper分页查询+指定字段排序

   当前端传递要排序的字段和排序的顺序时,后台又想使用LambdaQueryWrapper时可使用下面方法

public BaseResponse<Page<User>> listUserByPage(@RequestBody UserQueryRequest userQueryRequest) {
        ThrowUtils.throwIf(ObjUtil.isEmpty(userQueryRequest), ErrorCode.PARAMS_ERROR);
        LambdaQueryWrapper<User> qw = new LambdaQueryWrapper<>();
        qw.eq(ObjUtil.isNotNull(userQueryRequest.getId()), User::getId, userQueryRequest.getId());
        qw.like(StrUtil.isNotBlank(userQueryRequest.getUserName()), User::getUserName, userQueryRequest.getUserName());
        qw.like(StrUtil.isNotBlank(userQueryRequest.getUserAccount()), User::getUserAccount, userQueryRequest.getUserAccount());
        qw.like(StrUtil.isNotBlank(userQueryRequest.getUserProfile()), User::getUserProfile, userQueryRequest.getUserProfile());

        Page<User> objectPage = new Page<>(userQueryRequest.getCurrent(), userQueryRequest.getPageSize());
        //拼接排序条件
        if (StrUtil.isNotBlank(userQueryRequest.getSortField())) {
            OrderItem orderItem = new OrderItem();
            orderItem.setAsc("asc".equals(userQueryRequest.getSortOrder()));
            orderItem.setColumn(userQueryRequest.getSortField());
            objectPage.addOrder(orderItem);
        }
        Page<User> userPage = userService.page(objectPage, qw);
        return ResultUtils.success(userPage);
    }

为什么要使用LambdaQueryWrapper  

一般的QueryWrapper需要写表的列名,不想写

xml也不想写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值