如果是自己写sql语句,可以很自由的实现查询哪些字段值,但是在使用 MybatisPlus 提供的CRUD方法的时候我们该如何实现这一效果呢?
可以通过 LambdaQueryWrapper 和 QueryWrapper 的 select
方法来做到这一点
public IPage<Customer> page(int current, int size) {log.info("current={},size={}", current, size);LambdaQueryWrapper<Customer> lambdaQueryWrapper = new LambdaQueryWrapper<>();// 指定要查询的字段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 {@TableIdprivate Long customerId;private String customerName;private String address;private LocalDateTime createdAt;private LocalDateTime updatedAt;}
以上代码可知,我忽略了主键这一敏感字段值的查询,以下是查询结果,符合预期(敏感字段值未被查询)