如题在使用mybatis在xml中编写sql时遇到当值为空时属性名也会没有下面是分别是spring boot和SSM的解决方案,
1,Springboot项目可以直接在application.properties中加入这一行配置,将会解决这个问题
mybatis-plus:
configuration:
call-setters-on-nulls: true
2,SSM框架中在xml的mybatis配置文件xml中添加以下设置
<settings>
<setting name="callSettersOnNulls" value="true"/>
</settings>
设置完后mybatis已经可以返回空值的字段了,但如果你对数据进行序列化操作时还需添加设置
json序列化模式。
参数意义:
JsonInclude.Include.ALWAYS 默认
JsonInclude.Include.NON_DEFAULT 属性为默认值不序列化
JsonInclude.Include.NON_EMPTY 属性为 空(””) 或者为 NULL 都不序列化
JsonInclude.Include.NON_NULL 属性为NULL 不序列化
当然也可在调用JSON.toJSONString方法时,添加SerializerFeature.WriteMapNullValue参数,
告诉FastJSON在序列化时包括空值。这样,即使你的JSON对象中有空值,它们也会被正确序列化。
String retData= JSON.toJSONString(resultJson, SerializerFeature.WriteMapNullValue);
本文主要讲述使用MyBatis在XML中编写SQL时,遇到值为空属性名缺失的问题。分别给出Spring Boot和SSM框架的解决方案,还提及数据序列化操作时的设置,如不同的JSON序列化模式及FastJSON序列化时包含空值的参数设置。
3116

被折叠的 条评论
为什么被折叠?



