Java異常之--java.sql.SQLExcetion:Cannot convert value “0000-00-00 00:00:00” from column 9 to TIMESTAMP

本文目錄

一、背景描述

二、錯誤原因

三、解決方案

方案1、修改配置文件的數據源url

方案2、直接修改數據庫


一、背景描述

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'。這樣可以避免錯誤。

 

完結!

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