mybatis处理mysql日期格式

一:常用日期格式 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 != ’ ’ 的判断。否则会报错。

经验分享 程序员 微信小程序 职场和发展