跳到主要内容

Spring Boot 3 + MySQL

以 Spring Boot 3 项目使用 MySQL 数据库为例,快速接入 ezasse。

适用版本

本文档适用于 Spring Boot 3.x + Java 21+。如果你使用的是 Spring Boot 2.x,请参考 Spring Boot 2 + MySQL

第一步:添加依赖

1. 添加 ezasse starter

当前版本信息

ezasse.version:1.0.0-re

pom.xml
<dependency>
<groupId>cn.com.pism</groupId>
<artifactId>ezasse-spring-boot-starter</artifactId>
<version>1.0.0-re</version>
</dependency>

2. 添加必要依赖(spring-jdbc + MySQL 驱动)

pom.xml
<!-- spring-jdbc 支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<!-- MySQL 驱动(Spring Boot 3.x 推荐使用 mysql-connector-j) -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
Spring Boot 3 驱动差异

Spring Boot 3 中 MySQL 驱动的 groupId 由 mysql:mysql-connector-java 变更为 com.mysql:mysql-connector-j,请注意区分。

第二步:配置数据源

application.yml 中添加数据库连接信息:

application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
ezasse:
# 指定扫描的文件目录(默认扫描 sql 和 ezasse 目录)
folders:
- ezasse

第三步:编写 SQL 文件

src/main/resources/sql/ 目录下创建 SQL 文件,使用校验语法标记每段脚本:

src/main/resources/sql/init.sql
-- 当 t_user 表不存在时,执行建表语句
-- TABLE(t_user)
CREATE TABLE t_user
(
id BIGINT NOT NULL COMMENT '主键id' PRIMARY KEY,
account VARCHAR(64) NULL COMMENT '账号',
name VARCHAR(64) NULL COMMENT '用户名'
) COMMENT '用户表';

-- 当 t_user 表中没有 email 字段时,添加该字段
-- ADD(t_user.email)
ALTER TABLE t_user
ADD email VARCHAR(128) NULL COMMENT '邮箱';

-- 当下列 SQL 返回值为 0 时,插入初始管理员数据
-- EXEC(select count(1) from t_user where id = 1)
INSERT INTO t_user(id, account, name) VALUES (1, 'admin', '超级管理员');

第四步:启用 ezasse

在 Spring Boot 启动类上添加 @EnableEzasse 注解:

Application.java
package cn.com.pism.example;

import cn.com.pism.ezasse.starter.annotation.EnableEzasse;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableEzasse
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

完成集成 🎉

启动项目后,ezasse 会自动扫描 sql 文件夹,逐行检查并执行满足条件的 SQL 脚本。

下一步