首页 > 其他 > 详细

mybatis 一对多查询 集合创建空对象的问题

时间:2019-05-24 16:26:43      阅读:599      评论:0      收藏:0      [点我收藏+]

在做 mybatis 一对多查询的时候, resultMap 里面用到了集合标签 collection ,后来发现 当该条数据没有子集的时候, collection 会自动创建一个属性都是null的对象。

比如:

Teacher —对应多个— Student   

那么Teacher 里面应该有个 List<Student> studentList 对象,但是如果有一个Teacher里面没有Student的话,用collection会返回一个 属性都是null 的Student对象放在List里面。

 

解决办法:

在collection 标签上  写上 notNullColumn 属性  ,notNullColumn ="id,name" ,意思是只要id,name 有一个为null 则 就不创建这个子对象 。官方文档如下:

notNullColumn

默认情况下,在至少一个被映射到属性的列不为空时,子对象才会被创建。 你可以在这个属性上指定非空的列来改变默认行为,

指定后,Mybatis 将只在这些列非空时才创建一个子对象。可以使用逗号分隔来指定多个列。默认值:未设置(unset)。

http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html 点击链接查看详情

mybatis 一对多查询 集合创建空对象的问题

原文:https://www.cnblogs.com/Human-nature/p/10918747.html

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