背景
最近对原有项目数据库进行升级,从MySQL 5.7 升级到8.0,因此项目种的驱动程序也要做相应升级。
问题
一、 升级后报:java.time.LocalDateTime cannot be cast to java.util.Date
该问题是因为代码中使用Map类型获取查询返回值,原5.7驱动中,日期类型会被转为Date类型,现有8.0.33驱动中,日期类型转为LocalDateTime;造成前端拿到类型不是Date出现类型装换异常
8.0.33中 com.mysql.cj.jdbc.result.ResultSetImpl
源码
解决方案:
修改驱动版本为:8.0.20
;以为针对LocalDateTime的修改是从8.0.23开始的,只要使用之前版本即可;