通过LambdaQueryWrapper配置实现查询指定的字段值

如果是自己写sql语句,可以很自由的实现查询哪些字段值,但是在使用 MybatisPlus 提供的CRUD方法的时候我们该如何实现这一效果呢?

可以通过 LambdaQueryWrapper 和 QueryWrapper 的 select 方法来做到这一点

    public IPage<Customer> page(int current, int size) {
        log.info("current={},size={}", current, size);
        // MybatisPlus更建议使用Wrappers的静态方法来创建QueryWrapper/LambdaQueryWrapper对象
        LambdaQueryWrapper<Customer> lambdaQueryWrapper = Wrappers.lambdaQuery();
        // 指定要查询的字段
        lambdaQueryWrapper.select(Customer::getCustomerName, Customer::getAddress, Customer::getCreatedAt, Customer::getUpdatedAt);
        return customerRepository.page(new Page<>(current, size), lambdaQueryWrapper);
    }

    @Getter
    @Setter
    @TableName("customers")
    public class Customer {

        @TableId
        private Long customerId;

        private String customerName;

        private String address;

        private LocalDateTime createdAt;

        private LocalDateTime updatedAt;

    }

 

以上代码可知,我忽略了主键这一敏感字段值的查询,以下是查询结果,符合预期(敏感字段值未被查询)

 

posted @ 2024-10-13 11:29  Ashe|||^_^  阅读(2682)  评论(0)    收藏  举报