博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot~mybatis里localdatetime序列化问题
阅读量:6655 次
发布时间:2019-06-25

本文共 1285 字,大约阅读时间需要 4 分钟。

问题起因

主要是使用mybatis作为ORM之后,返回的对象为Map,然后对于数据库的datetime,datestamp类型返回为时间戳而不是标准的时间,这个问题解决方案有两种,大叔分析一下:

  1. 在mapper的select里,使用mysql这些数据库的函数,dateformat进行转化,缺点,单元测试里使用h2数据库时会找不到这些函数
  2. 在ObjectMapper反序列化时统一进行处理,这种方式更好,与具体数据库解耦了

实现

引用依赖包

'org.mybatis:mybatis-typehandlers-jsr310:1.0.2',  'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.2'

添加组件类

/** * 序列化localdatetime处理. */@Componentpublic 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"        }    ]}

转载于:https://www.cnblogs.com/lori/p/9755985.html

你可能感兴趣的文章
20135220谈愈敏Linux_总结
查看>>
Windows Phone 7(WP7)开发 AutoCompletedBox制作中文城市名称输入框
查看>>
vue echarts 实现地图大气泡图
查看>>
机器学习经典算法详解及Python实现--基于SMO的SVM分类器
查看>>
TF-IDF与余弦相似性的应用(一):自动提取关键词
查看>>
ZOJ 2974 Just Pour the Water
查看>>
CodeVS 1045 回文数
查看>>
深度学习003:LeNet-5网络研究,并用keras框架复现、pytorch框架复现
查看>>
2018网易有道暑期实习笔试题
查看>>
ALGO_53(蓝桥杯) 最小乘积
查看>>
bloom, Fake HDR, True HDR(转)
查看>>
【转】MySQL的各种timeout
查看>>
CString,string,char*,比较
查看>>
C#中Collection,List和ArrayList的区别
查看>>
web.py框架之高级应用
查看>>
操作一个虚拟鼠标
查看>>
如何自动以管理员身份运行.NET程序?
查看>>
IOS UTI统一类型标识符:判断文件类型通过后缀
查看>>
Python之面向对象
查看>>
DotNet(C#)自定义运行时窗体设计器Runtime FormDesigner(转载)
查看>>