mybatis-plus listObjs

该方法用于取出通过MybatisPlus查询到的数据并放入List中,其中取出的数据并不包括对象所有的字段,最多只能返回一个字段。

源码如下:

default  List listObjs(Wrapper queryWrapper, Function mapper) {
return (List)this.getBaseMapper().selectObjs(queryWrapper).stream().filter(Objects::nonNull).map(mapper).collect(Collectors.toList());
}

对于Function入参,其中通过实现apply接口,进行类型转换,其中Object类型的参数是我们实体类中使用Mp的@TableId注解标注的属性。

如果没有标注注解,则根据属性名对应数据库表的字段进行匹配查找(参数一般都是主键id,除非你使用@TableId注解标注了其他字段)。

  • 第一种情况,查询主键。此时会将查询到的所有主键id放入list中。 

  • 第二种情况,select *。默认查询数据库的主键,查询结果为主键(id),并将其放入list中。

  • 第三种情况,查询非主键的其他字段,将查询字段放入list中。

  • 第四种情况,查询多个字段,默认查询传入的第一个字段,并将第一个字段的查询结果放入list中。

你可能感兴趣的:(java,开发语言,后端)