com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value

  • 问题描述

持久层使用Mybatis和Mysql数据库进行数据交互。更新表的时候报错。

sql语句:

<update id="flushConnStatu">
   	update ovpn_client_list set status = #{status} where id = #{deviceid}
</update>

报错log

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value
  • 解决方法

网上查了一些资料,有些说把SQL语句中的and改为逗号的,但是我遇到的不是这个问题,以下提供一种本人遇到的情况的解决方案,供参考。

可能是sql语句的问题。id = #{deviceid} 这段sql没有对应上resultMap映射里的property和column。(还有一种可能是id的类型是int ,而deviceid的类型是String导致的)。可以都排查一下。

修改完成后,紧接着又报错。

Caused by: org.apache.ibatis.binding.BindingException: Parameter 'connStatu' not found. Available parameters are [id, param1, status, param2]

这个是参数没有绑定成功。查看dao或者mapper是否使用@Param注解绑定。

void flushConnStatu(@Param("status")Integer status ,@Param("id")Integer id);

很少使用,小问题比较多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值