关于SQLException:Value'0000-00-00 00:00:00'can not be represented as java.sql.Timestamp的问题


昨天在程序中出现了下面这个错误··· 

关于SQLException:Value'0000-00-00 00:00:00'can not be represented as java.sql.Timestamp的问题_第1张图片

我的sql中有两个字段

关于SQLException:Value'0000-00-00 00:00:00'can not be represented as java.sql.Timestamp的问题_第2张图片

我需要实现插入和更新时时间的同步显示

然后我以为是没有加时间触发器

关于SQLException:Value'0000-00-00 00:00:00'can not be represented as java.sql.Timestamp的问题_第3张图片

然后我给表中添加了如上的触发器,可是运行后还是报错

经过漫长的百度,终于才找到解决方案!!!


因为“0000-00-00 00:00:00”在mysql中是作为一个特殊值存在的但 java.sql.Date 将其视为 不合法的值 格式不正确,这才是报错的原因

给jdbc url加上   zeroDateTimeBehavior参数: 
zeroDateTimeBehavior=round是为了指定MySql中的DateTime字段默认值查询时的处理方式;默认是抛出异常

jdbc.url=jdbc:mysql://localhost:3306/tms?zeroDateTimeBehavior=convertToNull


终于搞定!!!


你可能感兴趣的:(各种异常)