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执行了。
相关文章
- apache本地多域配置(wampserver本地多域配置)
- CentOs6.5中安装和配置vsftp简明教程[转]
- spring aop注解方式与xml方式配置
- 【自动化】配置信息抽取
- hibernate.cfg.xml配置(Oracle+c3p0)
- Spring中配置和读取多个Properties文件
- Spring Boot - 配置介绍
- java报错:The reference to entity "characterEncoding" must end with the ';' delimiter.
- 在java的xml文件配置数据库URL地址时提示The reference to entity "characterEncoding" must end with the ';' delimiter.错误信息
- 改动项目APP名字后,在真机执行报错:The provisioning profile specified in your build settings (“haotian”) has an AppI