6.6 参数选项
参数选项主要分为如下三种类别:
常规选项
javaType、typeHandler、jdbcType 是三个常见参数选项,通过它们通常可以解决绝大部分传参需要。
| 名称 | 类型 | 说明 |
|---|---|---|
| javaType | Class | 可选 参数使用的 Java 类型。 |
| jdbcType | Integer | 可选 参数对应的 JDBC Type,可以是 java.sql.JDBCType 枚举名称也可以是具体数字。 |
| typeHandler | TypeHandler | 可选 使用的类型处理器,通过指定该选项可以覆盖 dbVisitor 为参数选择的 类型处理器。 |
例1:javaType 选项
select * from users where age = #{age,javaType=java.lang.Integer}
- javaType 选项可以指定 TypeHandlerRegistry 中支持的任意 Java 类型。
例2:jdbcType 选项
select * from users where name = #{name,jdbcType=varchar}
- jdbcType 选项可以指定 TypeHandlerRegistry 中支持的任意 JDBC 类型。
信息
javaType 选项和 jdbcType 也可以联合使用,用来确定具体 TypeHandler。
例3:typeHandler 选项
select * from users where name = #{name,typeHandler=net.hasor.dbvisitor.types.handler.string.StringTypeHandler}
信息
typeHandler 选项明确指定所使用的具体 TypeHandler,dbVisitor 已经内置了大量 类型处理器 可以选用。
例4:字段使用 Json 结构序列化/反序列化
select *
from users
where name = #{name,
javaType= net.demos.UserDTO,
typeHandler=net.hasor.dbvisitor.types.handler.json.JsonUseForFastjson2TypeHandler}
- 通过同时设置
javaType、typeHandler可以实现 JSON 类型字段读写自动序列化/反序列化。