1.mysql查询时报以下错误:
org.springframework.dao.TransientDataAccessResourceException: Error attempting to get column 'pay_time' from result set. Cause: java.sql.SQLException: Zero date value prohibited;
2.原因:
数据库中的数据有datetime类型的值为'0000-00-00 00:00:00'。
3.解决办法:
在数据库连接url后面加上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
username: test
password: test
driver-class-name: com.mysql.cj.jdbc.Driver
4.zeroDateTimeBehavior的值一共有三种:
- exception:默认值,会抛出异常。
- CONVERT_TO_NULL:将出错的那个0000-00-00字段的值转为null。
- round:替换成最近的日期,转成0001-01-01 00:00:00






网友评论