From 76bfff2d9044ff513fd5ff6c26c05e790f1979a9 Mon Sep 17 00:00:00 2001 From: ZhouXY108 Date: Thu, 18 Jun 2026 02:52:37 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E8=80=83=E9=87=8F=E7=AB=A0=E8=8A=82=E6=A0=87=E9=A2=98=E5=B9=B6?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 71a1ad2..eff9ce1 100644 --- a/README.md +++ b/README.md @@ -16,13 +16,15 @@ --- -## 2. 设计考量与边界 +## 2. 设计考量与取舍 -`Simple JDBC` 不追求大而全,在功能设计上保持克制。以下是本项目的一些设计考量: +`Simple JDBC` 不追求大而全,在功能设计上保持克制。以下是本项目的一些设计考量与取舍: - 明确**不支持存储过程**:专注于基础 CRUD。 - **不提供分页 API**:不同数据库的分页方言差异巨大,且实际业务中的分页查询往往不是简单的 `LIMIT OFFSET`(存在如游标分页、延迟关联等深度优化空间)。为了保持轻量与灵活,分页 SQL 交由开发者根据具体数据库与业务场景自行编写。 - **不提供缓存支持**:数据缓存应当被视为一个独立的关注点,通常交由更高层的抽象模块来处理。 +- **不支持直接传入 Connection**:为确保数据库连接资源的规范获取与安全释放,Simple JDBC 舍弃了一定的连接管理灵活性,不支持直接传入 Connection,而是需要通过 `DataSource` 来获取连接(详见[8. 连接池集成](#8-连接池集成))。常规操作由 `SimpleJdbcTemplate` 自动完成连接的获取与归还;事务场景下,由 `TransactionTemplate` 实现连接绑定,保障同一事务内所有操作的连接一致性。 +- **有限但灵活的结果映射**:为应对多样化的数据处理需求,Simple JDBC 提供了 `ResultHandler` 与 `RowMapper` 两层抽象机制。前者负责整体结果集的统筹处理,后者专注于单行数据的解析与映射(详见 [4.2 结果映射策略](#42-结果映射策略))。两者均设计为函数式接口,支持通过 Lambda 表达式快速定制映射逻辑。 ---