mybatis 一对多查询 集合创建空对象的问题
发布日期:2021-05-08 23:40:50 浏览次数:18 分类:技术文章

本文共 503 字,大约阅读时间需要 1 分钟。

在做 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)。

 点击链接查看详情

上一篇:vue 生成 二维码 qrCode 插件 使用 方法
下一篇:zTree的核心处理逻辑

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年05月06日 00时18分42秒