七、数据库与 JDBC
数据库是后端开发的核心,掌握事务、索引、连接池等知识点对面试和实际工作都至关重要。✅ 章节已全部完成
本章内容
事务与隔离
- 数据库事务隔离 - ACID 特性、四种隔离级别、MVCC 原理 ✅
索引优化
- 数据库索引 - B+ 树结构、聚簇索引、联合索引、索引优化原则 ✅
JDBC 与 ORM
- PreparedStatement - SQL 注入防护、预编译原理、批量操作 ✅
- MyBatis 缓存 - 一级缓存、二级缓存、缓存失效 ✅
连接池
- HikariCP 连接池 - 连接池原理、配置参数、性能调优 ✅
分页优化
- 数据库分页 - LIMIT 原理、深分页问题、优化方案 ✅
📊 完成进度
| 分类 | 已完成 | 总数 | 进度 |
|---|---|---|---|
| 数据库与 JDBC | 6 | 6 | 100% ✅ |
知识图谱
数据库与 JDBC
├── 事务
│ ├── ACID 特性
│ ├── 隔离级别
│ │ ├── READ UNCOMMITTED
│ │ ├── READ COMMITTED
│ │ ├── REPEATABLE READ(MySQL 默认)
│ │ └── SERIALIZABLE
│ └── MVCC
│ ├── undo log
│ └── Read View
├── 索引
│ ├── B+ 树
│ ├── 聚簇索引 vs 非聚簇索引
│ ├── 联合索引(最左前缀)
│ └── 索引失效场景
├── JDBC
│ ├── Statement vs PreparedStatement
│ ├── SQL 注入防护
│ └── 批量操作
├── MyBatis
│ ├── 一级缓存(Session 级别)
│ ├── 二级缓存(SessionFactory 级别)
│ └── 缓存失效时机
├── 连接池
│ ├── HikariCP(Spring Boot 默认)
│ ├── Druid(监控功能丰富)
│ └── 核心参数配置
└── 分页
├── LIMIT 原理
├── 深分页问题
└── 优化方案面试高频题
- 事务隔离级别有哪些?MySQL 默认是什么?
- MVCC 是如何实现的?
- 为什么 MySQL 使用 B+ 树而不是 B 树?
- 什么是聚簇索引和非聚簇索引?
- 联合索引的设计原则?
- 索引什么情况下会失效?
- PreparedStatement 为什么能防止 SQL 注入?
- MyBatis 一级缓存和二级缓存的区别?
- HikariCP 为什么比其他连接池快?
- 深分页问题如何优化?