报错
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
Error querying database. Cause: java.lang.NumberFormatException: For input string: "2024-07-01"
Cause: java.lang.NumberFormatException: For input string: "2024-07-01"
分析1
- 这段代码报错是 NumberFormatException,说是数字转换异常
- 起初以为JSON字符串转换异常,难道是转换成TimeStamp
时间戳
了?- 于是就改了 实体类的 JSON注释,但是没用
分析2
- 传进去的时候还是字符串,沒有转换成时间戳,那到底是在哪里完成了
隐式转换
,而且报错
呢?- 然后读到了这篇文章https://blog.csdn.net/q727810272/article/details/87881828
这种写法,不管你写的是什么,最后都会分别转换为
OBject
和String
作比较
这种写法,不管是什么,都会分别转换成
Object
和Number
类型作比较
- 问题找到了,因为日期条件使用的是上述的第二种写法,导致
日期字符串转换为Number类型失败
- 解决方案:
去掉!= 0的写法即可
或者改成 != ' '