myBatis3之xml映射配置(typeHandlers)
----------
无论是MyBatis在预处理语句中设置一个参数,还是从结果集中取出一个值时,类型处理器被用来将获取的值以合适的方式转换成Java类型。下面这个表格描述了默认的类型处理器。
类型处理器 | Java 类型 | JDBC 类型 | ||
BooleanTypeHandler | Boolean,boolean | 任何兼容的布尔值 | ||
ByteTypeHandler | Byte,byte | 任何兼容的数字或字节类型 | ||
ShortTypeHandler | Short,short | 任何兼容的数字或短整型 | ||
IntegerTypeHandler | Integer,int | 任何兼容的数字和整型 | ||
LongTypeHandler | Long,long | 任何兼容的数字或长整型 | ||
FloatTypeHandler | Float,float | 任何兼容的数字或单精度浮点型 | ||
DoubleTypeHandler | Double,double | 任何兼容的数字或双精度浮点型 | ||
BigDecimalTypeHandler | BigDecimal | 任何兼容的数字或十进制小数类型 | ||
StringTypeHandler | String | CHAR 和 VARCHAR 类型 | ||
ClobTypeHandler | String | CLOB和 LONGVARCHAR 类型 | ||
NStringTypeHandler | String | NVARCHAR 和 NCHAR 类型 | ||
NClobTypeHandler | String | NCLOB类型 | ||
ByteArrayTypeHandler | byte[] | 任何兼容的字节流类型 | ||
BlobTypeHandler | byte[] | BLOB和 LONGVARBINARY类型 | ||
DateTypeHandler | Date(java.util) | TIMESTAMP 类型 | ||
DateOnlyTypeHandler | Date(java.util) | DATE 类型 | ||
TimeOnlyTypeHandler | Date(java.util) | TIME 类型 | ||
SqlTimestampTypeHandler | Timestamp(java.sql) | TIMESTAMP 类型 | ||
SqlDateTypeHandler | Date(java.sql) | DATE 类型 | ||
SqlTimeTypeHandler | Time(java.sql) | TIME 类型 | ||
ObjectTypeHandler | Any | 其他或未指定类型 | ||
EnumTypeHandler | Enumeration 类型 | |||
你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。但这种情况相当少!!