1.首先要明白返回list 时 ,xml 中 resultType 的配置
1. 返回的为 List<String> 类型, resultType= "java.lang.String"
2. 返回的为 List<Vo>类型, resultType= "con.xxx.Vo"
2. 返回为实体List<VO>时,如果实体的属性值都为null,也会报这个错,本人刚好遇到。
<select id="getFaId" resultType= "com.Vo.ReportRateVo">
SELECT DISTINCT a.FaId as faId,a.FaName as faName
FROM a
WHERE a.Category is not null
and a.FaId is not null
<if test="vueIds != null and vueIds.size() > 0">
and a.VueId IN
<foreach collection="vueIds" item="vueId" open="(" separator="," close=")">
#{vueId}
</foreach>
</if>
</select>
这个是修改后的sql, sql中没有 and a.FaId is not null , 导致 筛选的2个字段都为null, 就会返回报错
本文探讨了在处理XML配置时,如何正确设置resultType以将查询结果转换为List<String>或List<Vo>。当实体类属性全为null时,可能会导致报错。举例展示了SQL查询的修正,移除可能导致null值的条件,从而避免错误的发生。
1万+

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



