如题在使用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);