SpringBoot 中如何查詢 MySQL DATE 類型日期?

SpringBoot 中如何查詢 MySQL DATE 類型日期?

SpringBoot 中查詢 mysql date 類型日期

在 SpringBoot 中,對(duì)于日期時(shí)間處理,通常會(huì)出現(xiàn)從前端到后端再到數(shù)據(jù)庫(kù)的轉(zhuǎn)換問(wèn)題。我們以一個(gè)常見(jiàn)的場(chǎng)景為例,探討如何查詢 MySQL 中的 DATE 類型字段。

在示例代碼中,前端參數(shù) lessonDate 使用 @DateTimeFormat 注解,指定日期格式為 “yyyy-MM-dd”。根據(jù)這個(gè)格式,后端接收時(shí)會(huì)自動(dòng)轉(zhuǎn)換為 Date 對(duì)象,然后又自動(dòng)轉(zhuǎn)換為 timestamp 對(duì)象,最終存儲(chǔ)到 MySQL 中。

由于 MySQL 中的 lessonDate 字段是 DATE 類型,這意味著它只包含日期部分,不包含時(shí)間部分。而 Timestamp 對(duì)象包含了日期和時(shí)間信息,因此在查詢時(shí)會(huì)產(chǎn)生類型不匹配的問(wèn)題。

解決方法是,在后端接收日期時(shí)直接使用 String 類型,而不是 Date 或 Timestamp。這將避免自動(dòng)轉(zhuǎn)換,并允許我們直接按預(yù)期格式查詢 MySQL 中的 DATE 類型字段。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊10 分享