当前版本:3.5.3(估计全版本都是这样)

使用方式

MyBatis-Plus com.baomidou.mybatisplus.extension.service.IService#listObjs(java.util.function.Function<? super java.lang.Object,V>)的用法

如上图,个人理解listObjs是查询User实体后,通过mapper,将实体转化为其他对象。

期望: “user”为User的实体对象

实际: 查询出来的却是一个字段,上图中的“user”的类型实际上是Integer,其表示user的Id(经过测试,user为查询的第一个字段,比如 select name,id from t_user,则user就等于name的值)

Comment From: q20096

跟了下代码,发现这个mappedStatement 的ResultMap只维护了一个Object类型对象(图1),导致每次只获取一个字段,可以将ResultMap的Type维护成User对象(图2)就解决了这个问题。 图1: MyBatis-Plus com.baomidou.mybatisplus.extension.service.IService#listObjs(java.util.function.Function<? super java.lang.Object,V>)的用法 图2: MyBatis-Plus com.baomidou.mybatisplus.extension.service.IService#listObjs(java.util.function.Function<? super java.lang.Object,V>)的用法

Comment From: q20096

看了之前的issues,回答结果都是mybatis的问题,但是这个方法是mybatis-plus提供的呀。

Comment From: miemieYaho

mp只提供了注入mapper,mybatis定义了如何取值