SpringBoot + MyBatisPlus 报错:
Error attempting to get column ‘create_time’ from result set. Cause: java.sql.SQLFeatureNotSupported.
问题原因:
数据库表的create_time类型为DateTime,而Java中createTime的属性的类型是LocalDateTime,这是Java8里面新出来了一些API,LocalDate、LocalTime、LocalDateTime ,但是在Druid1.1.21 版本 数据源里面不支持Java8的时间、日期类型。
MP3.1.0之前版本没问题,针对3.1.1以及后续版本出现上述问题
现象: 集成druid数据源,使用3.1.0之前版本没问题,升级mp到3.1.1+后,运行时报错:java.sql.SQLFeatureNotSupportedException
原因: mp3.1.1+使用了新版jdbc,LocalDateTime等新日期类型处理方式升级,但druid在1.1.21版本之前不支持,参考issue
解决方案:
- 升级druid到1.1.21解决这个问题;
- 保持mp版本3.1.0;
- 紧跟mp版本,换掉druid数据源
- 修改LocalDateTime为date类型