首页 新闻 会员 周边

mybatis查询出来的多条数据在list中只有第一条

0
悬赏园豆:20 [已解决问题] 解决于 2019-07-31 08:30


如图,mybatis的日志中可以看到查询了38条记录,可是输出list的时候list里只存放了第一条数据
映射文件

如果不加association的话是可以输出所有数据的


求大佬解惑

voidchar的主页 voidchar | 初学一级 | 园豆:36
提问于:2019-07-29 19:24

顶一下,老哥们帮帮忙

voidchar 4年前
< >
分享
最佳答案
0

虽然不知道为什么,但是在association标签之前先加上id标签就可以了

如图可以输出所有结果

voidchar | 初学一级 |园豆:36 | 2019-07-30 16:38
其他回答(2)
0

myBatis的一对一的使用分为两种情况
<resultMap id="BaseResultMap" type="com.cwai.bean.auth.User">
<id column="USERID" jdbcType="VARCHAR" property="userid" />
<result column="USERNAME" jdbcType="VARCHAR" property="username" />
<result column="TRUENAME" jdbcType="VARCHAR" property="truename" />
</resultMap>
<resultMap id="BaseResultMap2" type="com.cwai.bean.auth.User" extends="BaseResultMap">
<association property="userInfo" javaType="java.lang.String" select="com.cwai.mapper.auth.UserInfoMapper.getUserInfoById" column="USERID"></association>
</resultMap>
以上为使用select属性通过column="USERID"进行查询

另一种情况 不带column=“”属性

收获园豆:20
糖炒栗 | 园豆:330 (菜鸟二级) | 2019-07-30 11:49

所以你想说什么?我的问题是什么?

支持(0) 反对(0) voidchar | 园豆:36 (初学一级) | 2019-07-30 16:41
0

可能大概知道什么原因了 ,
数据问题:
resultMap中,如果不指定id列,在映射中同时存在result 和association,如果表中映射过的字段 有连续的非空重复值,那么存在重复值的行不会被加入结果集中。

逍遥兔 | 园豆:220 (菜鸟二级) | 2019-08-05 11:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册