mysql錯誤:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的解決方法

java連接MySQL數據庫,字段類型timestamp,數據庫值爲0000-00-00 00:00:00時,解析數據時會默認拋出一個異常:java.sql.SQLException: Cannot convert value ‘0000-00-00 00:00:00’ from column XX to TIMESTAMP

舉個實際的例子,你的方法中要傳入來自頁面的日期參數值,
按照正常的做法,比如日期值爲2016-10-11,但是由於誤操作,傳入了0000-00-00,並沒有設置正確的數據,那麼這時默認拋出java.sql.SQLException異常
(如果設定這一項 zero datetime behavior(英文字面意思爲“0datetime反應”)=convert to null(英文字面意思爲“轉化爲null”)
,把日期轉換爲null代替異常處理):
即這類操作情況的處理策略,有3種
1.exception(不指定,則默認)---->默認拋出異常,
2.convertToNull------->轉化爲null
3.round------->替換成最近的日期即XXXX-01-01
修改連接爲:

jdbc.url=jdbc:mysql://localhost:3406/dbname?zeroDateTimeBehavior=convertToNull
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章