java.sql.SQLException: Value ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp异常

今天写SQL语句的时候发现一个sql异常,话不多说,上图!
在这里插入图片描述
咱们先看他报的是什么.
java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
翻译一下
java.sql.sql异常:值“0000-00-00 00:00:00”不能表示为java.sql.Timestamp
为什么不能表示为java.sql.Timestamp呢?
经过本人多番查阅发现
Java 中的时间是从 1970 年开始的。格林威治时间 1970年01月01日00时00分00秒(UTC+8北京时间1970年01月01日08时00分00秒),这个 '0000-00-00 00:00:00' 时间,Java 表示不了,所以就抛出了这个异常
知道了异常是什么导致的后就很好处理了
将配置文件中对mysql配置的url语句后面加上
zeroDateTimeBehavior=convertToNull
有的同学不懂了,你加这句是什么意思呢?我来给大家解释一下
zeroDateTimeBehavior是为了指定MySql中的DateTime字段默认值查询时的处理方式;默认是抛出异常
加上后的效果图
在这里插入图片描述
在这里插入图片描述
ok!运行成功!

猜你喜欢

转载自blog.csdn.net/Lang_Ren_g/article/details/107312731