select语句中不列出全部字段

文章目录

1. 形式1

/**
* 1. 名字包含雨并且年齡小于40
* sql:name like '%雨%' and age < 40
*/
@Test
public void selectByWrapperSupper() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// queryWrapper.like("name", "雨").lt("age", 40);
queryWrapper.select("id", "name").like("name", "雨").lt("age", 40);

List<User> userList = userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
/*
sql形式:SELECT id,name FROM user WHERE name LIKE ? AND age < ?
这种情况,你查询什么列,如果有值就会查询出来,没查询的列的值默认为null
*/

2. 形式2

  /**
* 2. 名字包含雨并且年齡小于40
* sql:name like '%雨%' and age < 40
*/
@Test
public void selectByWrapperSupper2() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// queryWrapper.like("name", "雨").lt("age", 40);
queryWrapper.like("name", "雨")
.lt("age", 40)
.select(User.class, tableFieldInfo -> !tableFieldInfo.getColumn().equals("create_time")
&& !tableFieldInfo.getColumn().equals("manager_id"));

List<User> userList = userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
/*
sql形式:SELECT id,name FROM user WHERE name LIKE ? AND age < ?
*/