本文主要是介绍Mybatis类型处理器(TypeHandler),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MyBatis从结果集中取出值时,会使用类型处理器将获取的值以适合的方式转换成Java类型,下表为一些默认的类型处理器。
类型处理器 | Java类型 | JDBC类型 |
BooleanTypeHandler | java.lang.Boolean, boolean | 数据库兼容的Boolean |
ByteTypeHandler | java.lang.Byte, byte | 数据库兼容的Numeric或Byte |
ShortTypeHandler | java.lang.Short, short | 数据库兼容的Numeric或 SHORT或 INTEGER |
IntegerTypeHandler | java.lang.Integer, int | 数据库兼容的Numeric或 INTEGER |
LongTypeHandler | java.lang.Long, long | 数据库兼容的Numeric或 Long或 INTEGER |
FloatTypeHandler | java.lang.Float, float | 数据库兼容的Numeric或 SHORT |
DoubleTypeHandler | java.lang.Double, double | 数据库兼容的Numeric或 DOUBLE |
BigDecimalTypeHandler | java.math.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、LONGVARCHAR |
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 | 任意 | 未指定类型 |
EnumTypeHandler | Enumeration Type | VARCHAR 任何兼容的字符串类型,存储枚举的名称 |
EnumOrdinalTypeHandler | Enumeration Type | 任何兼容的NUMERIC或DOUBLE类型,存储枚举的索引 |
这篇关于Mybatis类型处理器(TypeHandler)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!