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']
  1. MyBatis处理日期有两种的jdbcType:
    2.1 jdbcType=DATE
    2.2 jdbcType=TIMESTAMP

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

  3. 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一定不要这么写

上一篇:牛逼!在IDEA里搞Spring Boot Mybatis反向工程,太爽咯~


下一篇:用MyBatis三剑客实现一个简单的电商信息管理系统