日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

spring boot+jpa+MySQL格式化返回数据中实体对象对应的日期格式

發(fā)布時間:2024/10/5 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring boot+jpa+MySQL格式化返回数据中实体对象对应的日期格式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在controller中設置返回參數(shù)中的日期格式有三種:

1.在配置文件application.yml中設置整個項目關于日期的格式:

spring:

? ?jackson:

? ? ? ?time-zone:?GMT+8

? ? ? ?date-format: yyyy-MM-dd

這樣設置后,項目中所有關于日期的參數(shù)除非特定設置,都會按照yyyy-MM-dd格式返回

2.在controller中設置返回參數(shù)的格式:

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());//查詢到的總記錄數(shù)map.put("pages", pager.getTotalPages());//查詢到的總頁數(shù)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方法格式化時間,然后在設置返回參數(shù)是日期時,調(diào)用dateToString方法格式化日期,這樣返回的日期也是格式化后的。

3.在實體類中的日期屬性上加上注解@JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8"),這樣返回這個實體類對應的日期參數(shù)時也是格式化的,而且是yyyy-MM-dd格式的,不受方法一設置的影響。

import com.fasterxml.jackson.annotation.JsonFormat; @DateTimeFormat(pattern = "yyyy-MM-dd")//設置接收日期參數(shù)時的格式 @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")//設置返回日期參數(shù)時的格式 @Column(name = "start_date",columnDefinition = " DATE COMMENT '票價生效開始時間'") private Date startDate;

?

總結(jié)

以上是生活随笔為你收集整理的spring boot+jpa+MySQL格式化返回数据中实体对象对应的日期格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。