公司的项目实体类日期类型是LocalDate或者LocalDateTime。
问题描述:mysql数据源从hikari切换为druid后,数据库的datetime和timestamp类型无法转化为LocalDate和LocalDateTime了。
原因分析:
百度了一下,都说是什么mybatis版本的原因。但是我是切换了数据源出现的,也就是说问题出在数据源。
解决方案:经过一番思考之后,总结出:如果使用的数据源是druid,有两种解决方法:一是mybatis版本需要降到3.0.1,二是java实体类用Date接收数据库的日期类型。
如果不需要用到druid monitor,就用springboot 2.x之后自带的数据源hikari,具体配置如下,可以根据项目实际情况做修改:
yml写法:
hikari: minimum-idle: 10 maximum-pool-size: 100 auto-commit: true idle-timeout: 1800000 pool-name: DatebookHikariCP max-lifetime: 1800000 connection-timeout: 60000 connection-test-query: SELECT 1
properties写法:
spring.datasource.hikari.minimum-idle=10 spring.datasource.hikari.maximum-pool-size=100 spring.datasource.hikari.auto-commit=true spring.datasource.hikari.idle-timeout=1800000 spring.datasource.hikari.pool-name=DatebookHikariCP spring.datasource.hikari.max-lifetime=1800000 spring.datasource.hikari.connection-timeout=60000 spring.datasource.hikari.connection-test-query=SELECT 1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)