mysql s1009_解决SQL Error: 0, SQLState: S1009,Invalid value for getLong() - 'XX'的问题

内容简介

今天遇到一个异常,报出消息为SQL Error: 0, SQLState: S1009,Invalid value for getLong() - 'PH',排查问题后,结果令人哑然失笑,也许Ctrl+C,Ctrl+V让程序员们用的很娴熟,但Ctrl+V之后还是要细心检查代码。

异常

7d26a14a3e64062d2f60e5ba514364cc.png

看到这个信息,第一反应是执行SQL出错了,检查了参数,数据库字段的类型定义,没啥问题,把参数替换后在Navicat中也能执行并有结果

代码:

@Query(value = "select * from t_water_quality_evaluate where ITMID = :itMid AND WQGLLV < :wqgValue AND WQGULV >= :wqgValue limit 1",nativeQuery = true)

TwaterQualityEvaluate queryByItMidAndValue(@Param(value= "itMid") String itMid, @Param(value = "wqgValue") BigDecimal wqgValue);

字段字义:

f75103acf40eb684e700f66365e8e4ce.png

执行结果:

b69eb769b4201f11208b9224ec03b65e.png

这是啥问题呢?我们看信息第二句:Invalid value for getLong() - 'PH',问题出现在itMid这个参数上,我们传入值"PH",这是个varchar类型,却使用getLong获取值,赶紧看看实体类的定义:

f953b18883c0329b5a466ed2201f4470.png

看到了吗?定义了Long类型!改为String后就OK了。

这个问题明显是在编写实体类时,itMid的定义复制了上面id的代码,只改了名称,没有改类型造成的!

嗯,Ctrl+V之后,还是要细心一些好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值