解决mybatis查询resultType是HashMap,字段值为null,结果集问题

本文介绍如何在MyBatis中正确处理SQL查询结果中的null值,通过在配置文件中设置特定参数,使得查询结果能更准确地反映数据库中的真实情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<select id="select" parameterType="xx" resultType="java.util.HashMap">
select a,b,c,d,e from t_order o
</select>


假设SQL查询有3条记录,
第一条所有字段都有值,
第二条字段b为null,e为空字符串
第三条c、d 字段结果为null
那么结果为
[{a=xx, b=xx, c=xx, d=xx, e=xx}, 
{a=xx, c=xx, d=xx, e=},
{a=xx, b=xx, e=xx}]


想要结果集显示为
[{a=xx, b=xx, c=xx, d=xx, e=xx}, 
{a=xx, b=null, c=xx, d=xx, e=},
{a=xx, b=xx, c=null, d=null, e=xx}]


在mybatis-config.xml配置文件中加下面这句代码即可解决
<!-- 在null时也调用 setter,适应于返回Map,3.2版本以上可用 -->
<setting name="callSettersOnNulls" value="true"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值