- 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']
-
MyBatis處理日期有兩種的jdbcType:
2.1 jdbcType=DATE
2.2 jdbcType=TIMESTAMP -
當我們使用java.util.Date作為實體的日期類型時(JAVA沒有DateTime這個類,Date類能夠同時表示日期和時間),java.util.Date實際上是能夠表示MySQL的三種字段類型:
3.1 date
3.2 datetime
3.3 timestamp -
MyBatis處理方式,而實際將java.util.Date當做參數傳遞給Mapper的時候
4.1 當不指定jdbcType時,日期會自動轉化會MySQL的timestamp
4.2 指定jdbcType=TIMESTAMP,日期會自動轉化會MySQL的timestamp
4.3 指定jdbcType=DATE,那么MyBatis會將傳入參數截取為2018-07-24(Date)
當指定jdbcType=DATE的時候,MyBatis會自動截取掉時間,如果MySQL的日期字段類型是datetime或者timestamp一定不要這么寫