Spring Boot 查詢 MySQL DATE 類型字段,為什么后端打印出的日期類型變成了 Timestamp?

Spring Boot 查詢 MySQL DATE 類型字段,為什么后端打印出的日期類型變成了 Timestamp?

spring boot 查詢 mysql date 類型字段

問題描述:

在使用 spring boot 開發時,我們需要從前端接收日期類型的數據,并將其存儲在 mysql 的 date 類型字段中。然而,在使用 mybatis-plus 查詢時,發現后端打印出的日期類型卻變成了 timestamp,導致查詢不到想要的數據。

解決方法:

在 spring boot 中,我們可以直接使用 String 類型接收來自前端的時間數據,而無需使用 date 類型。盡管 mysql 字段的類型為 date 或 datetime,我們仍然可以通過 string 類型直接查詢。

示例代碼:

@ApiModelProperty(value = "日期") private String lessonDate;

當我們使用 mybatis-plus 查詢時,日期類型仍會自動轉換為 timestamp,但不會影響查詢結果。

原因:

spring boot 會根據接收到的日期格式自動轉換日期類型。如果我們使用 date 類型接收,spring boot 將其轉換為 timestamp 類型。而使用 string 類型接收,spring boot 則不會自動轉換,數據庫會根據字段類型對字符串進行相應的轉換。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享