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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot+MyBatis+ElementUI中对于时间格式化问题的处理

發布時間:2025/3/19 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot+MyBatis+ElementUI中对于时间格式化问题的处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

在管理系統中,時間的存儲、查詢、顯示的格式往往需要統一。

這就涉及到在數據庫中存儲時間,使用Mybatis對時間進行比較查詢,使用Springboot中的實體類存儲查詢時間,

使用前端時間選擇器,這里是ElementUI的時間選擇器。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

首先是數據庫中表的設計,關于時間字段,設計為Date類型

?

數據庫中對于時間的存儲沒有格式要求,只需將其設置為Date類型即可。

然后是在Springboot中進行查詢時,將數據庫中的時間字段映射為實體類時

??? /** 設置日期 */@JsonFormat(pattern = "yyyy-MM-dd")private Date szrq;/** 執行日期 */@JsonFormat(pattern = "yyyy-MM-dd")private Date zxrq;/** 結束日期 */@JsonFormat(pattern = "yyyy-MM-dd")private Date jsrq;

時間屬性也是Date類型的,對于時間格式的限制可以通過注解

@JsonFormat(pattern = "yyyy-MM-dd")

來實現,里面跟的是格式的模式。

@JsonFormat注解是一個時間格式化注解,比如我們存儲在mysql中的數據是date類型的,當我們讀取出來封裝在實體類中的時候,就會變成英文時間格式,而不是yyyy-MM-dd HH:mm:ss這樣的中文時間,因此我們需要用到JsonFormat注解來格式化我們的時間。

要注意的是,它只會在類似@ResponseBody返回json數據的時候,才會返回格式化的yyyy-MM-dd HH:mm:ss時間,你直接使用System.out.println()輸出的話,仍然是類似“Fri Dec 01 21:05:20 CST 2017”這樣的時間樣式。

這是從數據庫中取數據返回給前端,如果是前端發送參數給后臺,后臺進行接收那

我們在對應的接收前臺數據的對象的屬性上加@DateTimeFormat

??? /** 設置日期 */@DateTimeFormat(pattern = "yyyy-MM-dd")@JsonFormat(pattern = "yyyy-MM-dd")private Date szrq;/** 執行日期 */@DateTimeFormat(pattern = "yyyy-MM-dd")@JsonFormat(pattern = "yyyy-MM-dd")private Date zxrq;/** 結束日期 */@DateTimeFormat(pattern = "yyyy-MM-dd")@JsonFormat(pattern = "yyyy-MM-dd")private Date jsrq;

那么前端在傳遞時間參數也可以進行格式化一下,這里使用的是ElementUI的

el-date-picker示例代碼如下

??????????? <el-form-item label="執行日期" prop="zxrq"><el-date-picker clearable size="small" style="width: 200px"v-model="form.zxrq"type="date"value-format="yyyy-MM-dd"placeholder="選擇執行日期"></el-date-picker></el-form-item><el-form-item label="結束日期" prop="jsrq"><el-date-picker clearable size="small" style="width: 200px"v-model="form.jsrq"type="date"value-format="yyyy-MM-dd"placeholder="選擇結束日期"></el-date-picker></el-form-item>

可以通過

value-format="yyyy-MM-dd"

進行格式化顯示。進行通過雙向數據綁定提交到后臺,后臺接受后再使用其作為查詢條件去篩選數據。

那么在MyBatis中怎樣對時間進行比較

??????????? <if test="ksrq != null">AND date_format(d.ddsj,'%y%m%d') >= date_format(#{ksrq},'%y%m%d')</if><if test="jsrq != null">AND date_format(#{jsrq},'%y%m%d') >= date_format(d.ddsj,'%y%m%d')</if>

通過date_format函數對參數和數據庫中的字段按照指定的相同的格式進行時間的比較。

總結

以上是生活随笔為你收集整理的SpringBoot+MyBatis+ElementUI中对于时间格式化问题的处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。