MyBatis如何處理MySQL字段類型date與datetime
1. MySQL Data Type
1)DATETIME
- 顯示格式:yyyy-MM-dd HH:mm:ss
- 時間范圍:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']
2)DATE
- 顯示格式:yyyy-MM-dd
- 時間范圍:['1000-01-01'到'9999-12-31']
3)TIMESTAMP
- 顯示格式:yyyy-MM-dd HH:mm:ss
- 時間范圍:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']
2. MyBatis處理日期有兩種的jdbcType
- 2.1 jdbcType=DATE
- 2.2 jdbcType=TIMESTAMP
3. 當我們使用java.util.Date作為實體的日期類型時
(JAVA沒有DateTime這個類,Date類能夠同時表示日期和時間)
java.util.Date實際上是能夠表示MySQL的三種字段類型:
- 3.1 date
- 3.2 datetime
- 3.3 timestamp
4. MyBatis處理方式
而實際將java.util.Date當做參數(shù)傳遞給Mapper的時候
- 4.1 當不指定jdbcType時,日期會自動轉(zhuǎn)化會MySQL的timestamp
- 4.2 指定jdbcType=TIMESTAMP,日期會自動轉(zhuǎn)化會MySQL的timestamp
- 4.3 指定jdbcType=DATE,那么MyBatis會將傳入?yún)?shù)截取為2018-07-24(Date)
當指定jdbcType=DATE的時候
MyBatis會自動截取掉時間
如果MySQL的日期字段類型是datetime或者timestamp一定不要這么寫
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis-Plus UpdateWrapper 使用常見陷阱和解決方案
MyBatis-Plus是Mybatis的一個增強,簡化了Mybatis的開發(fā)過程,不僅保持了Mybatis原有的功能,而且在無代碼侵略下增加了許多的增強的功能,提供了豐富的CRUD操作,單表的CRUD操作無需編寫SQL語句,本文介紹的是UpdateWrapper的常見陷阱和對應(yīng)的解決方案,感興趣的朋友一起看看吧2024-08-08mybatisPlus如何使用MetaObjectHandler對字段進行更新
這篇文章主要介紹了mybatisPlus如何使用MetaObjectHandler對字段進行更新問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04springboot接口接收數(shù)組及多個參數(shù)的問題及解決
這篇文章主要介紹了springboot接口接收數(shù)組及多個參數(shù)的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Spring?Security方法級安全控制@PreAuthorize注解的靈活運用小結(jié)
本文將帶著大家講解?@PreAuthorize?注解的核心原理、SpEL?表達式機制,并通過的示例代碼演示如何在實際項目中靈活運用該注解實現(xiàn)細粒度的權(quán)限控制,感興趣的朋友一起看看吧2025-04-04Hibernate validator使用以及自定義校驗器注解
這篇文章主要介紹了Hibernate validator使用以及自定義校驗器注解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01jsp+dao+bean+servlet(MVC模式)實現(xiàn)簡單用戶登錄和注冊頁面
這篇文章主要介紹了jsp+dao+bean+servlet(MVC模式)實現(xiàn)簡單用戶登錄和注冊頁面,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12