mybatsi 更新对象的Integer属性 更新不成功原因

本文讨论了MyBatis在更新操作中遇到的问题,特别是当Integer类型属性通过Radio绑定时,可能导致更新不成功的现象。通过调整配置文件中的if判断条件,避免了空字符串的误判,确保了Integer属性正确更新。同时,分析了同一页面中不同Integer属性处理方式的对比,指出Radio选择0时MyBatis默认视为''的特性导致的更新失败,并提供了解决方案。

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

2013-06-21今天遇到一个问题 mybatis更新操作 更新一个对象时候 为Integer的属性 页面是通过radio绑定的 更新不成功
不是radio绑定的Integer属性 可以更新成功
原配置文件(set部分内容)如下:
<if test="intIsRework!=null and intIsRework!=''">
 intIsRework=#{intIsRework},
</if>
后改为
<if test="intIsRework!=null">
 intIsRework=#{intIsRework},
</if>
运行正常
但是同样为Integer类型的intInstancy可以正常的运行
<if test="intInstancy!=null and intInstancy!=''">
 intInstancy=#{intInstancy},
</if>
后经过排查 因为两个radio一个值是为1 一个值为0 当选0的时候 mybatis 默认当作是''
因此不能进入if 更新语句拼接不上 导致更新不成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值