一、背景描述
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'。这样可以避免错误。
完结!