springboot~mybatis裡localdatetime序列化問題
問題起因
主要是使用mybatis作為ORM之後,返回的物件為Map,然後對於資料庫的datetime,datestamp型別返回為時間戳而不是標準的時間,這個問題解決方案有兩種,大叔分析一下:
缺點,單元測試裡使用h2資料庫時會找不到這些函式
實現
引用依賴包
'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" } ] }