[JDBC Error] Java.sql.SQLException: Zero Date value Prohibit

问题

  • Java 执行SQL报错 [JDBC Error] Java.sql.SQLException: Zero Date value Prohibited

原因

  • JDBC中当遇到DATETIME值完全由0组成时,会抛异常。
exception (the default), which throws an SQLException with an SQLState
of S1009.
convertToNull, which returns NULL instead of the date.
round, which rounds the date to the nearest closest value which is
0001-01-01.
http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-installing-upgrading-3-0-to-3-1.html

解决

  • 设置zeroDateTimeBehavior 属性,当遇到DATETIME值完全由0组成时,最终的有效值可以设置为,异常(exception),一个近似值(round),或将这个值转换为null(convertToNull)。
  • 加上zeroDateTimeBehavior=convertToNull
spring.datasource.erp.jdbc-url=jdbc:mysql://127.0.0.1/test?zeroDateTimeBehavior=convertToNull
评论