MyBatis所有的jdbcType类型对应的javaType类型

MyBatis所有的jdbcType类型对应的javaType类型

来源:https://www.jb51.net/program/287517rew.htmMyBatis处理MySQL字段类型date与datetime1) 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:1、jdbcType=DATE2、jdbcType=TIMESTAMP

二、JAVA中只有一种日期类型 DateTimejava.util.Date实际上是能够表示mysql的三种字段类型:1、date2、datetime3、timestamp而实际将java.util.Date当做参数传递给Mapper的时候1、假如我们不指定jdbcType,那么这个日期会自动转化会MySQL的timestamp,例子如下:2、指定jdbcType=TIMESTAMP结果同上。3、指定jdbcType=DATE,那么MyBatis会将传入参数截取为2018-07-24(Date)四、总结使用java.util.Date作为参数传递给Mapper时,不管MySQL的日期字段类型是date、datetime或者timestamp中的哪一种,MyBatis都能够自动做出类型转换,可以直接使用 =、>、<、>=、<=符号来进行筛选。 唯一的不同点是指定jdbcType=DATE的时候,MyBatis会自动截取掉时间,如果MySQL的日期字段类型是datetime或者timestamp一定不要这么写。 总之不手动指定参数的jdbcType必然没有问题。

Mybatis中javaType和jdbcType对应关系JDBC Type / Java TypeCHAR StringVARCHAR StringLONGVARCHAR StringNUMERIC java.math.BigDecimalDECIMAL java.math.BigDecimalBIT booleanBOOLEAN booleanTINYINT byteSMALLINT shortINTEGER intBIGINT longREAL floatFLOAT doubleDOUBLE doubleBINARY byte[]VARBINARY byte[]LONGVARBINARY byte[]DATE java.sql.DateTIME java.sql.TimeTIMESTAMP java.sql.TimestampCLOB ClobBLOB BlobARRAY ArrayDISTINCT mapping of underlying typeSTRUCT StructREF RefDATALINK java.net.URL

oracle数据类型和对应的java类型用mybatis generator生成代码后,执行查询语句时,oracle里的Date类型字段只精确到年月日,后面时分秒都为零。 jdbcType=”DATE”时候,存入到数据库中的字段只有年月日! 后来发现是jdbcType问题,改成 jdbcType=“TIMESTAMP” 就可以。(原先默认生成时是jdbcType=“DATE”)

相关推荐

大众途观l倒车影像加装,途观l倒车影像多少钱
盒子365app下载

大众途观l倒车影像加装,途观l倒车影像多少钱

📅 08-16 👁️ 4493
为什么拼多多助力总是不成功?
盒子365app下载

为什么拼多多助力总是不成功?

📅 09-26 👁️ 8743
购买智能灯泡需要了解什么
365日博官网

购买智能灯泡需要了解什么

📅 08-13 👁️ 4426
龔怎么读
盒子365app下载

龔怎么读

📅 08-01 👁️ 3162
华语流行音乐歌手排行榜前100名出炉,周杰伦第3名,刀郎第84名
《奇经八脉考》督脉·督脉
365BET体育投注官网

《奇经八脉考》督脉·督脉

📅 09-01 👁️ 4506