mysql日期类型datetime、timestamp转化为java类型LocalDate、LocalDateTime失败

项目场景:

公司的项目实体类日期类型是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
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值