在使用MySql 时, 数据库中的字段类型是timestamp的,默认为0000-00-00, 会发生异常:java.sql.SQLException: Value ‘0000-00-00 ’ can not be represented as java.sql.Timestamp.
数据库里面默认值是这一串0,但是JDBC不能将'0000-00-00 00:00:00'转化为一个为一个java.sql.Timestamp,在Java中,想创建一个java.util.Date,使其值为 '0000-00-00'也是不可能的,最古老的日期应该是'0001-01-01 00:00:00',所以报错了。
解决办法:
给jdbc url加上 zeroDateTimeBehavior参数:
zeroDateTimeBehavior=convertToNull
默认:
取值exception:
driver-url=jdbc:mysql://127.0.0.1/test?zeroDateTimeBehavior=exception
************************************这是里job调用dao的报错。所以在job里面需要捕获异常,防止job遇到异常停止。