一:常用日期格式
1、 DATE
显示格式:yyyy-MM-dd
时间范围:[‘1000-01-01’到’9999-12-31’]
2、 DATETIME
显示格式:yyyy-MM-dd HH:mm:ss
时间范围:[ ‘1000-01-01 00:00:00’到’9999-12-31 23:59:59’]
3、TIMESTAMP
显示格式:yyyy-MM-dd HH:mm:ss
时间范围:[ ‘1970-01-01 00:00:00’到’2037-12-31 23:59:59’]

二、 MyBatis处理日期有两种的jdbcType
1、jdbcType=DATE
2、jdbcType=TIMESTAMP

三、java.util.Date类:
当我们使用java.util.Date作为实体的日期类型时(JAVA没有DateTime这个类,Date类能够同时表示日期和时间),java.util.Date实际上是能够表示MySQL的三种字段类型:
1、date
2、datetime
3、timestamp

四、MyBatis处理方式
而实际将java.util.Date当做参数传递给Mapper的时候
1、假如我们不指定jdbcType,那么这个日期会自动转化会MySQL的timestamp。
2、指定jdbcType=TIMESTAMP也是转化为MySQL的timestamp。
3、指定jdbcType=DATE,那么MyBatis会将传入参数截取为yyyy-MM-DD(Date)格式。

五、总结
使用java.util.Date作为参数传递给Mapper时,不管MySQL的日期字段类型是date、datetime或者timestamp中的哪一种,MyBatis都能够自动做出类型转换,可以直接使用 =、>、=、<=符号来进行筛选。

六、扩展:

说明:mybatis中日期格式的if判定时,如图,不能加manageTime != ’ ’ 的判断。否则会报错。

更多推荐

mybatis处理mysql日期格式