问题描述:
当mybatis使用resultType="java.util.Map"时,如果存在字段值为null时,那么返回结果里面将不会显示该字段名,原因是mybatis默认:call-setters-on-nulls=false;如何将字段值为null的字段名显示出来,可以采用以下任一一种方法。
一、在application.yml内添加:
mybatis:
configuration:
call-setters-on-nulls: true
二、在application.properties内添加:
mybatis.configuration.call-setters-on-nulls=true
三、在mybatis.xml添加:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
#显示字段为null时该字段名
<setting name="callSettersOnNulls" value="true" />
</settings>
</configuration>
四、在sql里面设置(空值赋空):
select IFNULL(字段名, '') AS 字段名
五、在数据源配置文件中,添加默认配置,如下所示:
//设置默认属性
org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
configuration.setCallSettersOnNulls(true);
sf.setConfiguration(configuration);