社区
其他技术讨论专区
帖子详情
mybatis查询出来的多条数据在list中只有第一条
weixin_38053856
2019-07-29 07:24:04
如图,mybatis的日志中可以看到查询了38条记录,可是输出list的时候list里只存放了第一条数据 映射文件
如果不加association的话是可以输出所有数据的
求大佬解惑
...全文
1482
3
打赏
收藏
mybatis查询出来的多条数据在list中只有第一条
如图,mybatis的日志中可以看到查询了38条记录,可是输出list的时候list里只存放了第一条数据 映射文件 如果不加association的话是可以输出所有数据的 求大佬解惑
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38096689
2019-07-30
打赏
举报
回复
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=“”属性
weixin_38115337
2019-07-30
打赏
举报
回复
可能大概知道什么原因了 , 数据问题: resultMap中,如果不指定id列,在映射中同时存在result 和association,如果表中映射过的字段 有连续的非空重复值,那么存在重复值的行不会被加入结果集中。
weixin_38094418
2019-07-30
打赏
举报
回复
虽然不知道为什么,但是在association标签之前先加上id标签就可以了
如图可以输出所有结果
20、
Mybatis
查询
功能1(
查询
结果只有一条或者
多条
,都可以用
list
集合来接收)
Mybatis
查询
功能1(
查询
结果只有一条或者
多条
,都可以用
list
集合来接收)当我们
查询
多条
数据
不能转化为一个实体类对象(用
List
接收) 第一步: 第二步: 第三步:
关于
MyBatis
中
查询
到
多条
结果,但是封装到
List
集合
中
只有一条或者少了的情况
原因是: 1、 在存在标签时,必须指定一个不会重复的列充当唯一标识,否则MyBtis会认为所有的
数据
都一样,只存
第一条
,并且会将最后一条
数据
中
的
中
的
数据
覆盖到
第一条
中
,可能存在
数据
错乱;没有标签时,
Mybatis
会默认比较所有的与同级别的列,如果全部一样,则认为是同一
数据
,不会添加到集合
中
。 2、 存在标签时:https://blog.csdn.net/u013862444/article/det...
mybatis
一对多结果映射后
list
中
只存在一条
数据
mybatis
一对多结果映射后
list
中
只存在一条
数据
MyBatis
的各种
查询
功能
MyBatis
的各种
查询
功能
查询
一个实体类对象
查询
一个
List
集合
查询
单个
数据
查询
一条
数据
为map集合
查询
多条
数据
为map集合 1.如果
查询
出的
数据
只有一条,可以通过: 实体类对象接收
List
集合接收 Map集合接收,结果{password=123456, sex=男, id=1, age=23, username=admin} 2.如果
查询
出的
数据
有
多条
,一定不能用实体类对象接收,会抛异常TooManyResultsException,可以通过: 实体类类型的
List
集合接收
MyBatis
框架针对一对多
查询
-
List
集合内容只有一条
数据
的问题
之前在重温
mybatis
框架,嵌套
查询
和嵌套结果两种方式时,发现嵌套结果方式
查询
一对多时,
List
集合内只有一条
数据
,思来想去是不是SQL语句写错了,发现不是;而是在编写ResultMap标签时,针对映射方面出现了偏差;<== Row: 2, 白色家电, 4, 洗衣机, 2000.0, 2。<== Row: 2, 白色家电, 2, 冰箱, 4000.0, 2。<== Row: 2, 白色家电, 3, 空调, 5000.0, 2。
其他技术讨论专区
476
社区成员
790,963
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章