关于mybatis返回数据给前台的一个问题

由于用公司电脑开发的原因。没有截图

.提要:某个页面涉及到了一个列表的分页查询,其中涉及到了三个表 executor,item,以及relation关系表,相当于一个executor可以检查多个item,也就是一对多的关系。

一开始,一对多想到的就是resultMap形成一个映射关系,于是马上动手开始写

好,写完,等不及马上测试

虽然没有404,不过也有个问题,使用swagger测试的时候不管wo数据库里面类型是啥 返回的都是个数组形式的["1","1",...]

于是赶紧百度,发现了问题,如果使用的是String类型,collection不能这么写,于是更正

很开心,用swagger一测试,果然正常返回库中的内容了,于是跟大佬暗示这些搞定了,GKD

---------------------------------------------------------------------------------------------------------------------------------

于是第二天,与前台联调,在进行分页查询的时候,发现即使我库中有15条数据,limit 0,10返回的也是7条数据,

这里项目中一直使用的是pageHelper进行一个分页操作,查看前台返回的数据时候 发现total显示的是15,但是封装的list只有7条

果然,经定位发现 executor果然只有7条数据,而relation则有15个与之相关的数据,问题找到了,于是赶紧百度一下。

https://blog.csdn.net/xiaoxiangzi520/article/details/76058431 这里感谢这位@FinelyYang 这位大佬分析的思路,主要就是

mybatis在使用分页limit关键字时,java映射得到的数据是由主表也就是executor得到,而sql数量则是由relation得到,这就导致了两遍数据不一样,也就导致了分页不能正常显示。大佬的解决方法也给了我一点提示,于是

这里比起之前 就是在collection中多分出了一个select选项,就是再映射了一个子查询,而column=“id”这项是作为executor中的id作为与relation左关联的参数传入selectRelationXXX中形成关联,而原来的主表查询就不需要再填写关联了,直接将对应的信息查询即可

很开心,联调完成。希望没啥问题了  记录一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值