1. Problemas encontrados
2. Motivo:
Causado por el horario de verano. Solo 1940-06-03, 1941-03-16, 1986-05-04, 1987-04-12, 1988-04-10, 1989-04-16, 1990-04-15, 1991-04-14 lanza el error anterior
3. Intenta resolver
(1) Agregue &serverTimezone=GMT%2B8 después de la conexión jdbc, no use &serverTimezone=Asia/Shanghai
(2) Cambiar java.util.Date a java.sql.Date
1.按照第一篇和其他网上的说法,已经确实设置了时区serverTimezone=Asia/Shanghai
2.尝试过将Date改为LocalDate,但是业务上行不通,数据最后需要转为格式化yyyy-MM-dd HH:mm:ss,用fastjson和jacksjon都没有办法转为这种格式。转出来的数据不是序列化不对,就是转成了一个分段的json对象。
最后根据看到日志中Date class是java.util.Date, 想到java.sql.Date这个类,按照原来的经验这个类是会处理一些特殊的情况。
比如 数据库表 create _time 字段为 timestamp 类型,要用java.sql. Timestamp 来接收。
Pero no es lo ideal, estoy probando otros métodos.
4. Solución
数据库表 birthday 字段为 datetime类型
实体类为
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date birthday;
Si se vuelve a solicitar la interfaz, no se informará ningún error.