类型处理器
类型处理器是用于将一个 Java 类型读写某个数据库表的字段类型,例如:使用 String 读写数据库 VARCHAR 类型数据。
通过类型处理器可以有效解决数据库一些特殊类型的读写处理如:地理信息类型、货币类型、时区时间、枚举、序列化。
在没有明确指定类型处理器时。dbVisitor 将会遵循下列优先级来确定参数和返回值类型的读写使用的具体类型处理器:
- 1st
Java 类型
+JDBC 类型
- 2st
Java 类型
,最为常用 - 3st
JDBC 类型
- 4st 使用
UnknownTypeHandler
以参数传递为例:使用 Java 类型指定类型处理器
select * from users where name = #{name, javaType=java.lang.String}
- JAVA 类型为
java.lang.String
,根据 常见类型处理器-单一类型 表中可知。使用的类型处理器为StringTypeHandler
。
以参数传递为例:使用 Java + Jdbc
select * from users where name = #{name, jdbcType=varchar, javaType=java.lang.String}
- JDBC 类型使用
VARCHAR
,JAVA 类型为java.lang.String
, 根据 常见类型处理器-组合类型 表中可知。使用的类型处理器为StringTypeHandler
。
信息
- 在 dbVisitor 中大多数类型处理器在读写数据时是无需 JDBC 类型参数
- 因此通常情况下参数设置结果集读取只需要指定 Java 类型即可(存储过程 OUT 参数除外)。
如果内置类型处理器无法满足程序需要,可以通过 自定义类型处理器 来处理特殊情况。