Mybatis JdbcType与数据库类型之间的对应关系图


一、 Mybatis 类型处理器

Mybatis对于不同数据类型的字段在数据库与JAVA类型之间的转换,都会采用各自类型的处理器(TypeHandlers)进行处理。通过查看Mybatis的源码就能看到相应的类型处理器。你可以重写已有的类型处理器来使用于你的项目需求,具体做法为实现org.apache.ibatis.type.TypeHandler 接口, 或继承一个很便利的类 org.apache.ibatis.type.BaseTypeHandler。具体实现可以参看官网:

二、 Mybatis 类型处理器映射关系图

这里列出一些默认的类型处理器处理JAVA与JDBC数据类型的映射关系图:

类处理器 Java类型 JDBC类型 BooleanTypeHandler java.lang.Boolean, boolean 数据库兼容的 BOOLEAN ByteTypeHandler java.lang.Byte, byte 数据库兼容的 NUMERIC 或 BYTE ShortTypeHandler java.lang.Short, short 数据库兼容的 NUMERIC 或 SMALLINT IntegerTypeHandler java.lang.Integer, int 数据库兼容的 NUMERIC 或 INTEGER LongTypeHandler java.lang.Long, long 数据库兼容的 NUMERIC 或 BIGINT ongTypeHandler java.lang.Long, long 数据库兼容的 NUMERIC 或 BIGINT DoubleTypeHandler java.lang.Double, double 数据库兼容的 NUMERIC 或 DOUBLE BigDecimalTypeHandler java.math.BigDecimal 数据库兼容的 NUMERIC 或 DECIMAL StringTypeHandler java.lang.String CHAR, VARCHAR ClobTypeHandler java.lang.String CLOB, LONGVARCHAR NStringTypeHandler java.lang.String NVARCHAR, NCHAR NClobTypeHandler java.lang.String NCLOB BlobTypeHandler byte[] BLOB, LONGVARBINARY DateTypeHandler java.util.Date TIMESTAMP DateOnlyTypeHandler java.util.Date DATE TimeOnlyTypeHandler java.util.Date TIME SqlTimestampTypeHandler java.sql.Timestamp TIMESTAMP SqlDateTypeHandler java.sql.Date DATE SqlTimeTypeHandler java.sql.Time TIME EnumTypeHandler Enumeration Type VARCHAR 或任何兼容的字符串类型,用来存储枚举的名称 InstantTypeHandler java.time.Instant TIMESTAMP LocalDateTimeTypeHandler java.time.LocalDateTime TIMESTAMP LocalDateTypeHandler java.time.LocalDate DATE LocalTimeTypeHandler java.time.LocalTime TIME

二、 Mybatis JdbcType与数据库类型之间的对应关系图

这里将列出一些Mybatis中JdbcType与Mysql以及Oracle之间的数据类型映射关系图:

JDBCTYPE MYSQL ORACLE BIGINT BIGINT BLOB BLOB BLOB CHAR CHAR CHAR CLOB CLOB CLOB DATE DATE DATE DOUBLE DOUBLE NUMBER FLOAT FLOAT FLOAT INTEGER INTEGER INTEGER NCHAR NCHAR NCLOB NCLOB NUMERIC NUMERIC NUMERIC/NUMBER SMALLINT SMALLINT SMALLINT TIMESTAMP TIMESTAMP/DATETIME TIMESTAMP VARCHAR VARCHAR VARCHAR
经验分享 程序员 微信小程序 职场和发展