本文目錄
一、背景描述
Spring boot 2.1.8 + mybatisplus
Cause:java.sql.SQLExcetion:Cannot convert value '0000-00-00 00:00:00' from column 9 to TIMESTAMP.
二、錯誤原因
當數據庫中的Date類型字段值是 ‘0000-00-00’時,JDBC不能把’0000-00-00’轉化爲一個java.sql.Date
三、解決方案
目前有兩種解決方案,後期如果有再補充,歡迎大家提出意見完善解決方案
方案1、修改配置文件的數據源url
datasource:
url: jdbc:mysql://devl.iot.com:3306/baidu_iot_smarthome?autoReconnect=true&characterEncoding=utf-8&rewriteBatchedStatements=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
方案2、直接修改數據庫
數據庫裏datetime或者timestamp類型的字段值肯定有'0000-00-00 00:00:00'這樣的,只需要要將數據庫裏的日期類型字段的值'0000-00-00 00:00:00'改爲正常的日期時間格式'2020-05-28 15:16:38'。這樣可以避免錯誤。
完結!