java.sql.SQLException: Zero date value prohibited 异常处理

Posted yq-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.sql.SQLException: Zero date value prohibited 异常处理相关的知识,希望对你有一定的参考价值。

最近使用MyBatis时发现了java.sql.SQLException: Zero date value prohibited 的异常,网上查了一下原因。其实是mysql数据库在面对0000-00-00 00:00:00日期的处理时,如果没有设置对应的对策,就会产生异常。

所以解决的方法是在jdbcUrl中设置处理zeroDateTimeBehavior来处理,一般有下面几种:

1.driver-url=jdbc:mysql://127.0.0.1/test?zeroDateTimeBehavior=convertToNull

ZERO日期会转化为null

2.driver-url=jdbc:mysql://127.0.0.1/test?zeroDateTimeBehavior=round

ZERO 日期会转化为0001-01-0100:00:00.0,相当于加了一年

总的来说使用convertToNull会好些,把日期转化为null,更符合ZERO 日期的含义

以上是关于java.sql.SQLException: Zero date value prohibited 异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Oracle DB:java.sql.SQLException:关闭连接

Cause: java.sql.SQLException: 请求的转换无效 ; uncategorized SQLException for SQL []; SQL state [99999]; er

java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 发生错误

Java:Sqlexception:位置不支持的 SQL92 令牌:178

java.sql.SQLException:接近“on”:语法错误问题

java.sql.SQLException:架构“ROOT”不存在