如何在 mybatis 的结果映射中 return 具有空值的列

How to return columns with null values in a result map in mybatis

<select id="keyEquipmentShiftAutomatedModelData" parameterType="java.util.Map" resultType="java.util.Map">
SELECT  ID, SUM(VALUE1 + VALUE2) Total
FROM    tableName
GROUP   BY ID
    </select>

Returns below result in sql

ID, Total
1   (null)

但是当在 Map 中返回时,myBatis returns {ID=1} 中缺少 Total。如何将带有 null 的列放入结果集中以及类似 {ID=1,Total=null} 或类似 {ID=1,Total=""}

的内容

添加

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

mybatis-config.xml修复mybatis 3.2+版本

的问题

谢谢,它有效,此外你需要转换值

columns[i] = (value == null) ? "" : String.valueOf(value);

这可以使用 coalesce 简单地解决 Sql:

COALESCE( SUM(VALUE1 + VALUE2), '') as Total