日期:2014-05-16  浏览次数:20609 次

mysql 0000-00-00日期导致的戳异常
        当mysql的datetime类型的值设置为0000-00-00 00:00:00(或者 0000-00-00)的时候,java的datetime或者timestamp读取到这个值并转换的时候,将抛出异常。提示值为错误的时间格式。

        最常见的是在集成hibernate的项目中,hibernate认为有效的日期格式为“0001-01-01 00:00:00.0”;但是mysql中日期为空是用“0000-00-00 00:00:00.0”。JDBC默认会抛出一个异常。

       解决代码(zeroDateTimeBehavior=convertToNull):
url = "jdbc:mysql://127.0.0.1:3306/assets?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull"