【1】Mybatis中JavaType别名映射

JavaType(大小写不敏感):一个Java类的完全限定名,或一个类型别名。

下面是一些为常见的 Java 类型内建的类型别名。它们都是不区分大小写的,注意,为了应对原始类型的命名重复,采取了特殊的命名风格。

别名

映射的类型

_byte

byte

_long

long

_short

short

_int

int

_integer

int

_double

double

_float

float

_boolean

boolean

string

String

byte

Byte

long

Long

short

Short

int

Integer

integer

Integer

double

Double

float

Float

boolean

Boolean

date

Date

decimal

BigDecimal

bigdecimal

BigDecimal

object

Object

map

Map

hashmap

HashMap

list

List

arraylist

ArrayList

collection

Collection

iterator

Iterator

JdbcType(必须为大写):需要对插入、更新或删除操作可能为空的列进行处理。

【2】Mybatis中支持的JDBC类型

为了以后可能的使用场景,MyBatis 通过内置的 jdbcType 枚举类型支持下面的 JDBC 类型。

BIT

FLOAT

CHAR

TIMESTAMP

OTHER

UNDEFINED

TINYINT

REAL

VARCHAR

BINARY

BLOB

NVARCHAR

SMALLINT

DOUBLE

LONGVARCHAR

VARBINARY

CLOB

NCHAR

INTEGER

NUMERIC

DATE

LONGVARBINARY

BOOLEAN

NCLOB

BIGINT

DECIMAL

TIME

NULL

CURSOR

ARRAY

JDBC 类型,所支持的 JDBC 类型参见这个表格之后的“支持的 JDBC 类型”。 只需要在可能执行插入、更新和删除的且允许空值的列上指定 JDBC 类型。​​这是 JDBC 的要求而非 MyBatis 的要求​​。如果你直接面向 JDBC 编程,你需要对可以为空值的列指定这个类型。

这里需要注意一下日期时间格式:没有datetime。如果需要支持日期时间格式,请使用​​jdbcType="TIMESTAMP"​​。

参考博文:Java 类型, Hibernate 映射类型及 SQL 类型之间的对应关系