4. Mapper 文件
通用用法见核心 API 的5.4 Mapper 文件,状态链接说明各数据源的具体差异。共用参数能力集中见参数传递与规则。
| 数据源 | 命令执行 | 执行选项 | 主键策略 | 存储过程调用 | sql 标签 | 动态 SQL | 映射结果集 | 分页查询 | 调用文件 Mapper |
|---|---|---|---|---|---|---|---|---|---|
| MySQL | ✓ 支持 | ✓ 支持 | ◐ 部分 | ◐ 部分 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| PostgreSQL | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| Oracle | ✓ 支持 | ✓ 支持 | ◐ 部分 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| SQL Server | ✓ 支持 | ✓ 支持 | ✓ 支持 | ◐ 部分 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| DB2 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ◐ 部分 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| H2 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✕ 不支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| ClickHouse | ✓ 支持 | ✓ 支持 | ◐ 部分 | ✕ 不支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| Redis | ✓ 支持 | ◐ 部分 | ◐ 部分 | ✕ 不支持 | ✓ 支持 | ◐ 部分 | ◐ 部分 | ✕ 不支持 | ◐ 部分 |
| MongoDB | ✓ 支持 | ◐ 部分 | ◐ 部分 | ✕ 不支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| ES 6 | ✓ 支持 | ◐ 部分 | ◐ 部分 | ✕ 不支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| ES 7 | ✓ 支持 | ◐ 部分 | ◐ 部分 | ✕ 不支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
| Milvus | ◐ 部分 | ◐ 部分 | ◐ 部分 | ✕ 不支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 | ✓ 支持 |
- 命令执行:加载文件、查找语句并执行原生命令,包含连续调用和未命中时的返回值。
- 执行选项:
statementType、fetchSize、timeout、resultSetType及滚动结果。 - 主键策略:手工赋值、生成键回填及
selectKey查询回填 。 - 存储过程调用:输入、输出、INOUT 与游标参数。
- sql 标签:通过
<sql>、<include>复用命令片段。 - 动态 SQL:通过条件、循环等标签生成命令。
- 映射结果集:
resultType、resultMap对实体、Map 和标量的映射;自定义接收接口见结果接收。 - 分页查询:获取页数据与总数。
- 调用文件 Mapper:Java 接口通过
@RefMapper调用文件中的命令、动态内容和结果映射。