【數據庫----MySQL】解決java.sql.SQLException: Zero date value prohibited

這種錯誤是由於數據庫的字段爲datetime,但是數據的值爲0000-00-00 00:00:00,這時zeroDateTimeBehavior默認爲exception,會拋出一個SQLException異常

 

解決方式:

在數據庫連接的URL後面加上&zeroDateTimeBehavior=convertToNull

jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&zeroDateTimeBehavior=convertToNull

 

mysql文檔原文

Datetimes with all-zero components (0000-00-00 ...): These values cannot be represented reliably in Java. Connector/J 3.0.x always converted them to NULL when being read from a ResultSet.

Connector/J 3.1 throws an exception by default when these values are encountered, as this is the most correct behavior according to the JDBC and SQL standards.

This behavior can be modified using the zeroDateTimeBehavior configuration property. The permissible values are:

  • 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.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章