跳到主要内容

结果处理规则

本章介绍如何通过规则对查询结果进行后置处理,以及在存储过程等复杂场景下使用的辅助规则。 这些规则本身不影响 SQL 生成,仅用于指导 dbVisitor 如何映射返回的数据。

规则描述
@{resultSet}配置结果集映射策略(用于存储过程/多结果集)。
@{resultUpdate}标记某个结果为更新计数(非结果集)。
@{defaultResult}配置默认的结果集映射策略。

RESULTSET 规则

存储过程多结果集查询 场景下,用于指导 dbVisitor 如何映射返回的结果集。

语法@{resultSet, key1 = value1, key2 = value2}

支持场景

属性说明

名称类型说明
nameStringOUT 参数在结果集中的名称。
javaTypeClass将结果集映射到的 Java 类型。详见 对象映射
rowMapperRowMapper使用自定义 RowMapper 处理映射。
rowHandlerRowCallbackHandler使用自定义 RowCallbackHandler 处理每一行。
extractorResultSetExtractor使用自定义 ResultSetExtractor 处理整个结果集。
属性优先级

配置多个映射属性时,按 javaType > rowMapper > rowHandler > extractor 的优先级生效,首先匹配的项优先。


RESULTUPDATE 规则

将某个返回结果标记为更新计数(而非结果集),用于存储过程中区分返回的结果类型。

语法@{resultUpdate, name = paramName}

名称类型说明
nameString更新计数在结果中的名称。

DEFAULTRESULT 规则

@{defaultResult} 相当于 @{resultSet} 的全局默认配置。当一个查询返回多个结果集时,可以使用此规则避免为每个结果集重复配置。

语法@{defaultResult, key1 = value1, key2 = value2}

属性说明: 支持 javaType, rowMapper, rowHandler, extractor,含义同上。