<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返回{ID = 1},其中Total缺失。如何将带有null的列添加到结果集中以及类似这样的内容{ID = 1,Total = null}或类似这样的内容{ID = 1,Total =“”}
答案 0 :(得分:6)
添加
<settings>
<setting name="callSettersOnNulls" value="true"/>
</settings>
mybatis-config.xml修复了使用mybatis 3.2 +版本
时的问题答案 1 :(得分:0)
谢谢,它有效,除了你需要转换值
columns[i] = (value == null) ? "" : String.valueOf(value);
答案 2 :(得分:0)
可以使用普通SQL中的coalesce
轻松解决此问题:
COALESCE( SUM(VALUE1 + VALUE2), '') as Total