社区
Java EE
帖子详情
Mybatis子查询Collection中使用select问题。
CslAlong
2018-05-28 10:30:53
使用mybatis子查询使用Collection集合,这个是能查出数据来的
查询的结果
。然后再查另外的表,同样的代码。死活查不出数据。
...全文
3400
3
打赏
收藏
Mybatis子查询Collection中使用select问题。
使用mybatis子查询使用Collection集合,这个是能查出数据来的查询的结果。然后再查另外的表,同样的代码。死活查不出数据。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CslAlong
2018-05-28
打赏
举报
回复
引用 2 楼 QWERT4745 的回复:
检查下,与页面属性名不一致
感谢。是这个问题
QWERT4745
2018-05-28
打赏
举报
回复
检查下,与页面属性名不一致
CslAlong
2018-05-28
打赏
举报
回复
唯一不同的可能就是在不同的模块了
分页查询<resultMap>
中
有<
collection
>每页条数
问题
1.
使用
mybatis
+ pageHelper去查询,<resultMap>标签
中
有一对多的<
collection
>数据时,会造成分页数据不足给定预期条数。 那么可以通过其他的方式来解决这种
问题
: 1)方法1:单独写一个
select
做关联查询,
collection
有一个
select
属性和column属性,https://github.com/pagehelper/
Mybatis
-PageHelper/issues/185 2)方法2:主数据分开分页查,其他关联数据在业务层
mybatis
包含一对多的分页查询
问题
在业务
中
,有时需要
使用
left join 进行联表查询,并且需要用手动进行 limit 分页查询,可
mybatis
是先分页查询后映射数据结构,比如需要分10条记录一页时,数据库查出的 10 条结果在经过 mybaits 映射结果后返回到前端的记录可能没有 10 条,而导致前端页面显示不正常。这是因为
mybatis
帮我们把左表相同的记录映射到同一对象,而右表多条记录则映射到了集合
中
,那么怎么能确保左表不相同的记录是10条呢? 方法一(
collection
select
) 第一种方法可以
使用
子查询
映射的方
pagehelper导致一对多查询分页出错
问题
复现 我们都知道在实际的开发
中
,我们经常遇到需要展示一对多的数据
问题
,如:一个人共有n个订单,每个订单有不定的商品,那么这种显示的数据结构就是我们的一对多数据结构:如下所示: 但
使用
pagehelper分页导致
mybatis
一对多查询分页结果出错,错误原因在于,一对多
collection
,他计算的条数是按商品计算的(一对多的“多”,而不是“一”),比如上图
中
,如果分页参数是pageNum=1,pageSize=2,那么我们想要的结果应该是上图所示,但我们实际查询出来的是,只有orderNo为1的那一部
mybatis
中
一对多关联查询返回分页数据
在
mybatis
查询
中
,有些场景会出现在这样的场景: 需要分页查询A表
中
的属性,其
中
有一些数据是保存在B表
中
,并且A
中
一条记录在B表
中
可能会对应多条,现在需将B表
中
的多条记录作为A表
中
的一个属性list形式返回,mapper.xml层写法如下: // An highlighted block var foo = 'bar'; ...
一对多查询, pagehelper一对多分页
《
collection
》标签
子查询
select
属性绑定一条sql property 属性绑定结果名, 映射到 resultMap
中
对应的变量。 结果:
Java EE
67,535
社区成员
225,851
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章