1 缘起
最近梳理MySQL增删改查实现方式过程中,发现不同的工具对MySQL操作方式差异较大,
MyBatis是比较成熟的ORM框架,使用方便,查询数据时自动映射数据,
Java sql原生操作则需要手动获取数据(映射数据),更加底层,
而SpringBoot(自测项目)中则是通过Druid和MyBatis操作MySQL,
自测查询LocalDateTime类型数据时,
Java原生和单独使用MyBatis(3.5.5)可正常映射,
使用Druid1.1.20和MyBatis3.5.5组合时,查询时无法正常映射LocalDateTime数据,
通过异常日志和Druid1.1.20源码,发现,是Druid1.1.20的锅,与MyBatis3.5.5无关,
因为MyBatis3.5.5已支持处理LocalDateTime类型数据,
特将造成异常的原因以及解决方案分享如下,帮助读者知其然,知其所以然。
2 场景复现
2.1 表结构
属性created_time和updated_time格式为datetime,完整的属性如下图所示。