https://blog.youkuaiyun.com/persistencegoing/article/details/84376427
如题,当使用spring boot加mybatis时,设置Map返回,当值为空时属性也会没有
在application.properties中加入下面配置,将会解决这个问题。
#当查询数据为空时字段返回为null,不加这个查询数据为空时,字段将被隐藏
mybatis.configuration.call-setters-on-nulls=true
其它解决办法
1.查询sql添加每个字段的判断空
IFNULL(rate,'') as rate
2.ResultType利用实体返回,不用map(这其实算不上一种解决办法)
3.springMVC+mybatis查询数据,返回resultType=”map”时,如果数据为空的字段,则该字段省略不显示,可以通过添加配置文件,规定查询数据为空是则返回null。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="callSettersOnNulls" value="true"/>
</settings>
</configuration>
mybatis的这种配置:
mybatis-plus:
configuration:
call-setters-on-nulls: true
然后今天我配置了不成功,找了很久的原因
后面发现自己给自己挖了坑
原来不是没有成功,是配置成功了,但是我还加了另一个配置

参数意义:
JsonInclude.Include.ALWAYS 默认
JsonInclude.Include.NON_DEFAULT 属性为默认值不序列化
JsonInclude.Include.NON_EMPTY 属性为 空(””) 或者为 NULL 都不序列化
JsonInclude.Include.NON_NULL 属性为NULL 不序列化
希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职
群号:721 515 304
1914

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



