spring boot+jpa+MySQL格式化返回数据中实体对象对应的日期格式
生活随笔
收集整理的這篇文章主要介紹了
spring boot+jpa+MySQL格式化返回数据中实体对象对应的日期格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在controller中設置返回參數中的日期格式有三種:
1.在配置文件application.yml中設置整個項目關于日期的格式:
| spring: ? ?jackson: ? ? ? ?time-zone:?GMT+8 ? ? ? ?date-format: yyyy-MM-dd |
這樣設置后,項目中所有關于日期的參數除非特定設置,都會按照yyyy-MM-dd格式返回
2.在controller中設置返回參數的格式:
| public static String dateToString(Date date, String dateFrom){String time = null;try {SimpleDateFormat sdf = new SimpleDateFormat(dateFrom);time = sdf.format(date);}catch (Exception e){e.printStackTrace();}return time;
} ? @PostMapping("/api/driver/list") public Result driverList(Integer pageNo, Integer size, String agentName, String lineName, String driverName, String driverSfzh, String driverPhone){Map<String,Object> map = new HashMap<>();try {if(pageNo==null||size==null||pageNo==0||size==0){return Result.fail(903,"pageNo和size不能為空或者等于0");}Page<Driver> pager = driverService.getDao().findDriverPage(PageRequest.of(pageNo, size),agentName,lineName,driverName,driverSfzh,driverPhone);map.put("rows", pager.getTotalElements());//查詢到的總記錄數map.put("pages", pager.getTotalPages());//查詢到的總頁數map.put("page", pageNo);List<Map<String, Object>> datas = new ArrayList<>();pager.forEach(driver -> {Map<String, Object> item = new HashMap<>();item.put("id",driver.getId());item.put("zgzEndDate",driver.getZgzEndDate()!=null?dateToString(driver.getZgzEndDate(),"yyyy-MM-dd"):"");item.put("createTime",driver.getCreateTime()!=null?dateToString(driver.getCreateTime(),"yyyy-MM-dd HH:mm:ss"):"");datas.add(item);});map.put("datas",datas);return Result.ok(map);}catch (Exception e){e.printStackTrace();return Result.fail(901,"獲取列表失敗");} } |
首先讓controller繼承基礎controller類,然后就可以用基礎controller類中的dateToString方法格式化時間,然后在設置返回參數是日期時,調用dateToString方法格式化日期,這樣返回的日期也是格式化后的。
3.在實體類中的日期屬性上加上注解@JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8"),這樣返回這個實體類對應的日期參數時也是格式化的,而且是yyyy-MM-dd格式的,不受方法一設置的影響。
| import com.fasterxml.jackson.annotation.JsonFormat; @DateTimeFormat(pattern = "yyyy-MM-dd")//設置接收日期參數時的格式 @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")//設置返回日期參數時的格式 @Column(name = "start_date",columnDefinition = " DATE COMMENT '票價生效開始時間'") private Date startDate; |
?
總結
以上是生活随笔為你收集整理的spring boot+jpa+MySQL格式化返回数据中实体对象对应的日期格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot使用EntityMa
- 下一篇: mybatis-plus设置查询返回的类