Uncategorized
/
Feb 08, 2026
Step 3 第三关:粮仓与冰箱 - 数据库入门
<!-- Title: 第三关:粮仓与冰箱 —— 数据库的双雄会 -->
<!-- ID: 149 -->
<!-- Series: Java 帝国:从零构建你的数字疆域 (ID: 2) -->
<!-- Author: 潘卫 -->
# 第三关:粮仓与冰箱 —— 数据库的双雄会
## 1. 为什么需要数据库?
内存(RAM)就像**案板**。
程序运行时,数据在案板上切切剁剁,处理得很快。
但一旦断电(关机或程序崩溃),案板上的东西就全没了。
为了让数据**持久化**(永存),我们需要**数据库**。
数据库就是**大仓库**和**冰箱**。
## 2. 关系型数据库 (MySQL):严谨的大仓库
**MySQL** 是最经典的**关系型数据库 (RDBMS)**。
它的特点是:**规整、严谨**。
就像 Excel 表格一样,每一行、每一列都要定义好。
* **Table (表)**:存放数据的架子。
* **Row (行)**:一条具体的数据(比如一个用户)。
* **Column (列)**:数据的属性(比如姓名、年龄)。
* **SQL (结构化查询语言)**:你和仓库管理员沟通的语言。
**场景**:存放用户信息、订单记录、银行账单等核心数据。
## 3. 非关系型数据库 (Redis):极速的小冰箱
**Redis** 是**非关系型数据库 (NoSQL)**,通常运行在内存中。
它的特点是:**快!极快!**
它像厨房灶台边的小冰箱或调料架。
* **Key-Value (键值对)**:像字典一样,通过名字直接拿东西。
* **不持久(相对)**:虽然也能存盘,但主要利用的是它的内存读写速度。
**场景**:
* **缓存 (Cache)**:把热门新闻放在 Redis 里。用户来查时,先看 Redis(冰箱)里有没有,有就直接拿(快);没有再去 MySQL(大仓库)里翻(慢)。
* **验证码**:手机验证码 60 秒过期,正好利用 Redis 的过期特性。
## 4. 实战:Spring Boot 连接 MySQL
在 Spring Boot 中,我们使用 **JPA (Java Persistence API)** 或 **MyBatis** 来操作数据库。
这里演示最简单的 JPA。
### 配置 (application.properties)
让 AI 帮你写配置:
> "Spring Boot 连接本地 MySQL,库名 mydb,用户 root,密码 123456。请生成配置。"
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update
```
### 实体类 (Entity)
这对应数据库里的一张表。
```java
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String email;
// Getters and Setters...
}
```
### 仓库接口 (Repository)
这是操作员。
```java
public interface UserRepository extends JpaRepository<User, Long> {
// 只要继承了这个接口,你就自动拥有了 save, findById, findAll, delete 等神技
// 不需要写一行 SQL!
}
```
## 5. 结语
数据库是系统的**底座**。
MySQL 保证了数据的**安全性**和**完整性**。
Redis 保证了系统的**高并发**和**响应速度**。
掌握了这一快一慢的配合,你就能构建出稳健的后端系统。
P
潘卫
南京市沉思波网络科技有限责任公司创始人、CEO
您的观点 (可选)
🎁 注册账号,同步您的个性化学习路径