无论是MyBatis在预处理语句(preparedStatement)中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成Java类型:
类型处理器
|
Java类型
|
JDBC类型
|
BooleanTypeHandler
|
java.lang.Boolean,boolean
|
数据库兼容的BOOLEAN
|
ByteTypeHandler
|
java.lang.Byte,byte
|
数据库兼容NUMERIC或BYTE
|
shortTypeHandler
|
java.lang.Short,short |
数据库兼容NUMERIC或SHORT INTGER
|
IntegerTypeHandler
|
java.lang.Integer,int
|
数据库兼容NUMERIC或INTEGER
|
LongTypeHandler
|
java.lang.Float,float
|
数据库兼容NUMERIC或FLOAT
|
DoubleTypeHandler
|
java.lang.Double,double
|
数据库兼容NUMERIC或DOUBLE
|
BigDecimalTypeHandler
|
java.lang.BigDecimal
|
数据库兼容NUMERIC或DECIMAL
|
StringTypeHandler
|
java.lang.String
|
CHAR,VARCHAR
|
ClobReaderTypeHandler
|
java.io.Reader
|
无
|
ClobTypeHandler
|
java.lang.String
|
CLOB,LONGVARCHAR
|
NStringTypeHandler
|
java.lang.String
|
NVARCHAR,NCHAR
|
NClobTypeHandler
|
java.lang.String
|
NCLOB
|
BlobInputStreamTypeHandler
|
java.io.InputStream
|
无
|
ByteArrayTypeHandler
|
byte[]
|
数据库兼容的字节流类型
|
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
|
ObjectTypeHandler
|
Any
|
OTHER
|
EnumTypeHandler
|
Enumeration Type
|
VARCHAR
|
EnumOrdinalTypeHandler
|
Enumeration Type
|
任何兼容的NUMERIC或DOUBLE类型,存储枚举的索引
|