Damnatiox
知识文件夹

数据访问与事务

现代 Java Backend Engineering 学习路线:数据访问与事务

0 子目录7 文档

文档

7
数据访问与 ORM推荐阅读数据访问与 ORM推荐阅读 本阶段从 JDBC 连接池出发,比较 SQL Mapper 与 ORM 的抽象边界,并把事务、迁移、查询性能纳入同一设计。 官方资料优先顺序 MyBatis 3 Reference Spring Data JPA Reference Hibernate ORM Documentation Flyway Documentation HikariCP 阅读方法 1. 先阅读概念与快速开始,建立最小可运行闭环。 2数据访问与 ORM:从零开始的阶段导学数据访问与 ORM:从零开始的阶段导学 这一页是本阶段的入口,不假设读者已经接触过对应框架。先建立“为什么需要它、它在链路中的位置、如何验证”的心智模型,再进入各专题。 1. 本阶段解决什么问题 把对象与关系数据之间的读写变成可测试、可调优、可迁移的工程链路。学习 JDBC 的真实资源边界后,再理解 MyBatis 的显式 SQL、JPA/Hibernate 的对象状态管理和 Spring Data 的仓库抽象。 前置知识 掌握 SQLMyBatis:映射、动态 SQL、插件与工程边界MyBatis:映射、动态 SQL、插件与工程边界 MyBatis 保留 SQL 主导权,并负责参数绑定、结果映射、会话及缓存等基础设施;它不是自动生成全部查询的 ORM。 1. 本文覆盖范围 SqlSession 与 Mapper 代理 参数绑定、ResultMap 与关联映射 动态 SQL、批处理和分页 一级/二级缓存与插件 2. 核心知识详解 1. 执行链与生命周期 SqlSessionFactory 是长期共享工厂, SqlSeJPA、Hibernate 与 Spring Data:实体状态、映射和查询JPA、Hibernate 与 Spring Data:实体状态、映射和查询 Jakarta Persistence 是规范,Hibernate 是常见实现,Spring Data JPA 在其上提供仓库抽象;三者的职责需要分开理解。 1. 本文覆盖范围 实体生命周期与持久化上下文 关联、继承和值对象映射 JPQL、Criteria、Specification 与原生 SQL 抓取策略、锁和批处理 2. 核心知识详解 1. 持久化上下文连接池、事务、数据库迁移与数据访问技术决策连接池、事务、数据库迁移与数据访问技术决策 稳定的数据访问层依赖连接预算、事务语义、模式迁移和可观测性,而不仅是选择 MyBatis 或 JPA。 1. 本文覆盖范围 HikariCP 连接池预算 Spring 事务传播与隔离 Flyway/Liquibase 迁移 MyBatis、JPA、jOOQ/JDBC 决策 2. 核心知识详解 1. 连接池是受限资源 连接池复用昂贵的数据库连接,并限制应用对数据库的并发压力。池大小由数据库容量、MyBatis-Plus 工程实践MyBatis Plus 工程实践 MyBatis Plus 在 MyBatis 上提供通用 Mapper、条件构造器、分页和插件,以减少重复 CRUD。它保留 MyBatis 的 SQL 模型,复杂查询、索引与事务仍需开发者负责。 1. 学习目标 掌握 BaseMapper 与 LambdaWrapper 理解分页、乐观锁、逻辑删除与多租户插件 避免字段泄漏、SQL 注入和无条件更新 2. 核心概念 1. 实体与 Mapper @TaJDBC vs MyBatis vs JPA:按问题选择数据访问方式JDBC vs MyBatis vs JPA:按问题选择数据访问方式 Freshness metadata last verified : 2026 08 24 version scope : Spring 7 / Boot 4 ecosystem source type : official docs + engineering synthesis stability : version sensitive 维度 JDBC / Jdb