月光心事
2021-06-22 14:10
采纳率: 50%
浏览 415

shardingshpere+mybatis项目不支持LocalDateTime

版本:

shardingsphere  4.1.0(4.4.1)+mybatis-plus 3.3.1 druid 1.1.19(至1.1.23)

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'create_time' from result set.  Cause: java.sql.SQLFeatureNotSupportedException: getObject with type
; getObject with type; nested exception is java.sql.SQLFeatureNotSupportedException: getObject with type] with root cause

java.sql.SQLFeatureNotSupportedException: getObject with type
    at org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationResultSet.getObject(AbstractUnsupportedOperationResultSet.java:221) ~[sharding-jdbc-core-4.1.1.jar:4.1.1]
    at org.apache.ibatis.type.LocalDateTimeTypeHandler.getNullableResult(LocalDateTimeTypeHandler.java:38) ~[mybatis-3.5.3.jar:3.5.3]

 

 

错误原因:

数据库字段create_time 对应实体类型 LocalDateTime(java 8)

网上好多说是由于连接池druid版本连接池导致,但我换到1.1.23还是不可以;

后来更换连接池为HikariCP,但还是不支持这个时间类型;

只有降低mybatis-plus 为3.1.0 可以;

但项目中mybatis是不允许降版本的,有解决办法的大佬不?


 
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 月光心事 2021-06-28 14:18
    已采纳
    后来通过BaseTypeHandler解决,最好还是通过修改jar
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • a1767028198 2021-06-22 14:21

    自己实现BaseTypeHandler呗,你想要啥就能给啥

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题