There was an unexpected error (type=Internal Server Error, status=500).
Error attempting to get column ‘PsdWrongTime’ from result set. Cause: java.sql.SQLException: Value ‘0’ can not be represented as java.sql.Timestamp ; Value ‘0’ can not be represented as java.sql.Timestamp; nested exception is java.sql.SQLException: Value ‘0’ can not be represented as java.sql.Timestamp
org.springframework.dao.TransientDataAccessResourceException: Error attempting to get column ‘PsdWrongTime’ from result set. Cause: java.sql.SQLException: Value ‘0’ can not be represented as java.sql.Timestamp
今天做项目刚搭好mybatis和springboot的框架运行测试了一下发现报了这个错
刚开始发现这个错以为是框架搭错了,找了一圈也没找得到,最后靠关键字搜搜是因为数据库的哪个字段的问题然后在项目需要配置一下
需要再配置数据源的时候加上这个zeroDateTimeBehavior=convertToNull
但是这个究竟是有什么作用?
JAVA连接MySQL数据库,在操作各项值均为为0(或者有0不正确的数据??)的timestamp等(日期为0000-00-00。。。。)类型时不能正确处理,而是默认抛出一个异常,比如所见的:java.sql.SQLException: Cannot convert value ‘0000-00-00 00:00:00’ from column XX to TIMESTAMP。
举个实际的栗子,你的方法中要传入来自页面的日期参数值,
按照正常的做法,比如日期值为2020-02-28,但是由于误操作,传入了0000-00-00,并没有设置正确的数据,那么这时默认抛出java.sql.SQLException异常
(如果设定这一项 zero datetime behavior(英文字面意思为“0datetime反应”)=
convert to null(英文字面意思为“转化为null”)
,把日期转换为null代替异常处理);
最后就发现可以ok执行了。
相关文章
- 数据源配置报错
- axios请求接口数据时报错:code: 401, message: “暂未登录或token已经过期“
- NTL库编译和使用配置
- 关于VS重新生成解决方案时,报错信息:无法将文件“*.dll”复制到“*.dll”,对路径“”的访问被拒绝的解决方案
- 安装MySQL后没有my.ini本地配置文件之解决方法
- mac环境下pycharm关于matplotlib报错以及中文显示问题解决办法。
- navicat for mysql 创建存储过程时报错1064
- Ubuntu18.04配置MySQL5.7支持utf-8编码格式配置文件修改步骤
- EasyGUI安装教程及安装时报错的解决方案(含下载地址)
- webpack typescript 加载 js 模块报错解决方案