zoukankan      html  css  js  c++  java
  • 解决SQL Error: 0, SQLState: S1009,Invalid value for getLong()

    内容简介

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

    异常

    看到这个信息,第一反应是执行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);

    字段字义:

    执行结果:

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

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

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

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

  • 相关阅读:
    java中清空session
    freemarker中修改和添加功能中包含checkbox复选框默认选中需求的解决方式
    Highcharts动态赋值学习
    CSDN Luncher
    JS导入导出Excel表格的方法
    js 下载文件的操作方法
    模板标签的作用
    css3的calc()
    JS滚轮mousewheel事件和DOMMouseScroll事件
    css BFC(格式化上下文)的理解
  • 原文地址:https://www.cnblogs.com/codecat/p/11497039.html
Copyright © 2011-2022 走看看