MyBatis处理MySQL字段类型date与datetime
- 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一定不要这么写