typeHandlers(类型处理器)

Posted x1nghe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typeHandlers(类型处理器)相关的知识,希望对你有一定的参考价值。

无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器。

类型处理器

Java 类型

JDBC 类型

BooleanTypeHandler

java.lang.Boolean, boolean

任何兼容的布尔值

ByteTypeHandler

java.lang.Byte, byte

任何兼容的数字或字节类型

ShortTypeHandler

java.lang.Short, short

任何兼容的数字或短整型

IntegerTypeHandler

java.lang.Integer, int

任何兼容的数字和整型

LongTypeHandler

java.lang.Long, long

任何兼容的数字或长整型

FloatTypeHandler

java.lang.Float, float

任何兼容的数字或单精度浮点型

DoubleTypeHandler

java.lang.Double, double

任何兼容的数字或双精度浮点型

BigDecimalTypeHandler

java.math.BigDecimal

任何兼容的数字或十进制小数类型

StringTypeHandler

java.lang.String

CHAR 和 VARCHAR 类型

ClobTypeHandler

java.lang.String

CLOB 和 LONGVARCHAR 类型

NStringTypeHandler

java.lang.String

NVARCHAR 和 NCHAR 类型

NClobTypeHandler

java.lang.String

NCLOB 类型

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

其他或未指定类型

EnumTypeHandler

Enumeration Type

VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)

EnumOrdinalTypeHandler

Enumeration Type

任何兼容的 NUMERIC 或 DOUBLE 类型,作为位置存储(而不是代码本身)。

以上是关于typeHandlers(类型处理器)的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis—typeHandlers默认支持的类型处理器

笔记:MyBatis XML配置-typeHandlers 默认类型处理器

mybaties的核心配置文件属性之typehandlers

关于Mybatis中使用自定义类型通过 自定义TypeHandler类型处理器进行类型转换的两种配置方案-枚举类型示例

[mybatis]typeHandlers日期类型的处理

使用mybatis中的自定义TypeHandler处理PostgreSQL中的Json类型字段