其他分享
首页 > 其他分享> > mybatis-plus的listObjs方法返回指定字段的集合

mybatis-plus的listObjs方法返回指定字段的集合

作者:互联网

/**
* mybatis-plus的listObjs()原理演示
*/
@Test
public void test2(){
List list = new ArrayList<>();
Dto d1 = new Dto();
d1.setId(1);
d1.setName("java");
list.add(d1);
Dto d2 = new Dto();
d2.setName("php");
list.add(d2);

    //相当于getBaseMapper().selectObjs(queryWrapper),
    // 从数据源中查询id的集合,类型用Object,而不再用LambdaQueryWrapper中的泛型接收了
    //select id from table;
    List<Object> objects = list
            .stream()
            .map(Dto::getId)
            .collect(Collectors.toList());

    List<Integer> collect = objects
            .stream()
            .filter(Objects::nonNull)
            //因为元素是Object,所以只能调用Object的方法
            .map(o->Integer.valueOf(o.toString()))
            .collect(Collectors.toList());
    System.out.println(collect);
    //[1]
}

标签:Dto,listObjs,Object,list,collect,plus,mybatis,d2,d1
来源: https://www.cnblogs.com/lyn8100/p/16574395.html