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