一、引言
一天一眨眼就过去了,真是光阴似箭日月如梭呀。
这个MP的Wrapper默认查询是查询全部的列,但是小编的需求是需要查询某几个列即可。
当然MP也是提供了解决办法的。
二、解决办法
/**
* 名字包含雨并且年龄小于40
* <p>
* 只显示id、name 两列
*/
@Test
public void selectByWrapper1() {
QueryWrapper<User> wrapper = new QueryWrapper();
wrapper.like("name", "雨").lt("age", 40)
.select("id","name");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
/**
* 名字包含雨并且年龄小于40
* <p>
* 除了create_time、manager_id 其他列都显示
*/
@Test
public void selectByWrapper2() {
QueryWrapper<User> wrapper = new QueryWrapper();
wrapper.like("name", "雨").lt("age", 40)
.select(User.class,i -> !i.getColumn().equals("create_time")
&& !i.getColumn().equals("manager_id"));
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}