1、msql查询操作时报以下错误
org.springframework.dao.transientdataaccessresourceexception: error attempting to get column 'pay_time' from result set. cause: java.sql.sqlexception: zero date value prohibited;
2、原因
数据库中数据存在的时间类型datetime / timestamp的值为’0000-00-00 00:00:00’
3、解决办法
在连接数据库时的连接地址加上zerodatetimebehavior=convert_to_null。
spring: datasource: url: jdbc:mysql://localhost:3306/test?usessl=false&unicode=true&characterencoding=utf-8 &servertimezone=asia/shanghai&zerodatetimebehavior=convert_to_null
zerodatetimebehavior的值有以下三种:
exception
:默认值,会抛出异常。convert_to_null
:将出错的那个0000-00-00字段的值转为null。round
:替换成最近的日期,转成0001-01-01 00:00:00
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论