springboot~mybatis里localdatetime序列化问题
2018-10-08 18:05
501 查看
问题起因
主要是使用mybatis作为ORM之后,返回的对象为Map,然后对于数据库的datetime,datestamp类型返回为时间戳而不是标准的时间,这个问题解决方案有两种,大叔分析一下:
- 在mapper的select里,使用mysql这些数据库的函数,dateformat进行转化,
缺点,单元测试里使用h2数据库时会找不到这些函数
- 在ObjectMapper反序列化时统一进行处理,这种方式更好,与具体数据库解耦了
实现
引用依赖包
'org.mybatis:mybatis-typehandlers-jsr310:1.0.2', 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.2'
添加组件类
/** * 序列化localdatetime处理. */ @Component public class JacksonConfig { /** * 注入时间处理. * * @return */ @Bean @Primary public ObjectMapper objectMapper() { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JSR310Module()); mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")); return mapper; } }
成功解决问题
{ "pageCurrent": 1, "pageSize": 10, "pageTotal": 1, "data": [ { "freeDays": 8, "city": "", "leadingPerson": "", "contactPerson": "zhangsan", "source": 1, "customerName": "i-counting", "intention": 1, "province": "", "appointmentTime": "2018-09-20T00:00:00.000Z", "createTime": "2018-09-27T06:33:49.000Z", "telephoneStatus": 1, "id": 10000, "contactPhone": "135" } ] }
相关文章推荐
- Spring boot 集成hessian - LocalDateTime序列化和反序列化
- Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
- Spring Boot 使用Oracle集成Mybatis,驼峰映射(下划线)问题
- spring boot data RedisTemplate 序列化问题
- 记录问题:springboot中使用Mybatis-pagehelper分页插件遇到的版本兼容问题
- spring boot + maven + mybatis 学习过程遇到问题总结(1)
- 在idea里使用SpringBoot整合MyBatis时遇到的Mapper扫描不到的问题
- SpringBoot整合Mybatis扫描不到Mapper的问题
- 关于Springboot整合mybatis启动的问题
- [原创]Spring Boot + Mybatis 简易使用指南(二)多参数方法支持 与 Joda DateTime类型支持
- 解决redis序列化java8 LocalDateTime错误的问题
- Maven项目中,关于Spring Boot 整合MyBatis时,Service层无法找到mapper接口的问题解决
- redis 在spring boot工程中的应用(三) 问题发现与解决 :反序列化 报错
- springboot+mybatis如何解决多数据源问题(三)
- springboot+mybatis解决多数据源切换事务控制不生效的问题
- 解决Intellij Idea Spring Boot Mybatis @Autowired报错的问题
- 关于IDEA工具在springboot整合mybatis中出现的Invalid bound statement (not found)问题
- SpringBoot集成Mybatis时无法扫描Mapper问题
- shiro+spring boot+mybatis启动循环引用问题解决思路和方案
- SpringBoot中关于Mybatis使用的三个问题