首页 > 其他 > 详细

根据项目实战深度理解Mybatis@Results、@Result,@Many一对多的关系

时间:2021-06-09 21:38:17      阅读:26      评论:0      收藏:0      [点我收藏+]

看了这篇博客,我才理解了@Many 写的非常好!(4条消息) Mybatis注解@Results、@Result、@ResultMap_zhoushimiao1990的博客-CSDN博客_@result

先说下要达到的目的:项目类似于平时发布的动态,我要查出所有的动态信息,每条动态信息里面可以存放不同个数的图片地址,类似于嵌套,可以采用一对多的方式查询。

先上正确的代码

这个是动态信息的类,最后一个属性就是要用一对多,可以再存储好几条数据。

技术分享图片

 

 mapper类代码, column=“id”代表把id当作参数传给queryFileUrlInfo这个方法,通过@Many来传。property=“urls”是类中的字段名。

技术分享图片

 

 结果就是这样的,urls里面可以放好几条数据。

技术分享图片

 

 总结:@Many:就是每查询一遍sql之后,去查询@Many所对应的另外的一个接口方法,会根据它的column的字段,把这个字段当作参数带入到新的这个sql语句当中。最后拼接成一个结果。

中途遇到的错误:

1.@Many所对应的方法的返回值是List<String>,但是当时把属性url的类型也写成List了,所以就变成List套List查不出来,一直为null,改成String url 就可以了。

2.查询出来的结果集,每一条的id都为0,因为没写技术分享图片,只写了@Many内句话的话,因为它的字段也是id,但对应的属性是url,就不对了(我猜应该是这个问题)

 

根据项目实战深度理解Mybatis@Results、@Result,@Many一对多的关系

原文:https://www.cnblogs.com/yystudyhard/p/14868632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!