MyBatis Map返回null时的处理

在MyBatis中,我们经常会遇到返回类型resultType = "map"的情况,而在返回的map中,经常会有字段是null的,今天,我们就来分析一下如何处理null的问题

1. map中某个字段返回null,其余字段有值时

某个字段为null时,将不返回该字段,例如:

("a" : 1, "b" : 2, "c" : null, "d" : 4)

则会返回

("a" : 1, "b" : 2, "d" : 4)

如果想让字段c正常返回,则需要加上以下语句

spring项目

 <setting name="callSettersOnNulls" value="true">

springboot项目

mybatis.configuration.call-setters-on-nulls=true

加上以上配置之后,则会返回如下:

("a" : 1, "b" : 2, "c" : null, "d" : 4)

2. map中某一行整体返回null

当某一行整体返回null时,map将会返回null,例如:

("a" : null, "b" : null, "c" : null, "d" : null)

则会返回

null

如果需要正常显示每个字段为null,则需要以下配置

spring项目

<setting name="returnInstanceForEmptyRow" value="true">

springboot项目

mybatis.configuration.return-instance-for-empty-row=true

加上以上配置之后,则会返回如下:

("a" : null, "b" : null, "c" : null, "d" : null)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容