mybatis plus 不返回 某些字段

7 min read

mybatis-plus select查询语句默认是查全部字段,有两种方法可以指定要查询的字段

1、user表只需要查询出name和age两个字段的数据,可以使用queryWrapper的select()方法指定要查询的字段

@Test
public void selectByWrapper10() {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.select("name", "age").like("name", "雨");
    List<User> users = userMapper.selectList(queryWrapper);
    users.forEach(System.out::println);
}

日志输出sql:

DEBUG==> Preparing: SELECT name,age FROM user WHERE name LIKE ?
DEBUG==> Parameters: %雨%(String)
TRACE<== Columns: name, age
TRACE<== Row: 张雨琪, 31
TRACE<== Row: 刘红雨, 31
DEBUG<== Total: 2

2、user表要查询出除manager_id和create_time外其它所有字段的数据,同样也是使用queryWrapper的select()方法

@Test
public void selectByWrapper11() {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.select(User.class, info -> !info.getColumn().equals("manager_id")
            && !info.getColumn().equals("create_time"));
    List<User> users = userMapper.selectList(queryWrapper);
    users.forEach(System.out::println);
}