🚀快速开发(学生管理后端篇)
首先准备我们的表
-- 学生信息表:存储学生的基本信息
CREATE TABLE student (
id BIGINT AUTO_INCREMENT COMMENT '主键ID',
student_id VARCHAR(20) NOT NULL COMMENT '学号,业务唯一标识,如 S20250001',
name VARCHAR(50) NOT NULL COMMENT '学生姓名',
gender CHAR(1) NOT NULL DEFAULT 'O' COMMENT '性别:M-男, F-女, O-其他',
date_of_birth DATE COMMENT '出生日期',
email VARCHAR(100) COMMENT '电子邮箱',
phone VARCHAR(20) COMMENT '手机号码',
address VARCHAR(255) COMMENT '家庭住址',
enrollment_date DATE NOT NULL COMMENT '入学日期',
grade VARCHAR(20) COMMENT '年级,如 高一、大三、Grade 10',
major VARCHAR(100) COMMENT '专业名称,如 计算机科学与技术',
status TINYINT NOT NULL DEFAULT 0 COMMENT '学籍状态:0-在读, 1-毕业, 2-休学, 3-退学',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录最后更新时间',
-- 主键
PRIMARY KEY (id),
-- 唯一索引:学号不能重复
UNIQUE KEY uk_student_id (student_id),
-- 普通索引:便于按姓名查询
INDEX idx_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生信息表';
INSERT INTO student (student_id, name, gender, date_of_birth, email, phone, address, enrollment_date, grade, major)
VALUES
('S20250001', '张三', 'M', '2005-08-15', 'zhangsan@example.com', '13800138000', '北京市海淀区XX路1号', '2023-09-01', '大二', '软件工程');
在我们的object数据库去执行我们的sql
执行好了👆的sql语句过后
🔍 select * from student 成功结果如⬇️:
+----+------------+-------+--------+------------------+---------------------+-----------+----------------------------+------------------+-------+
| id | student_id | name | gender | date_of_birth | email | phone | address | enrollment_date | grade |
+----+------------+-------+--------+------------------+---------------------+-----------+----------------------------+------------------+-------+
| 1 | S20250001 | 张三 | M | 2005-08-15 | zhangsan@example.com | 13800138000 | 北京市海淀区XX路1号 | 2023-09-01 | 大二 |
+----+------------+-------+--------+------------------+---------------------+-----------+----------------------------+------------------+-------+
ok 我们的📚表就准备好了
打开我们的后端代码 🐒
lq-admin
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ └── java
│ └── com
│ └── object
│ ├── DashScopeClient.java
│ ├── Main.java
│ └── ObjectApplicationTests.java --这个就是我们的后端代码生成器
├── pom.xml
└── README.md
需要修改一下生成代码的表明改成我们的student(如果是需要生成很多的表使用逗号隔开,)
@SpringBootTest
class ObjectApplicationTests {
@Resource
private Constructor constructor;
/**
* 后端代码生成器
*
* @throws Exception
*/
@Test
public void testEncrypt() throws Exception {
//第一个传递的参数是我们的表名
//第二个传递的参数就是需要生成在那个包下面
constructor.generate("student","stu");
}
}
👌 下面我们直接run起来 👀控制台日志
[INFO] log4j:WARN No appenders could be found for logger (freemarker.cache).
[INFO] log4j:WARN Please initialize the log4j system properly.
[INFO] log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
检验代码是否生成
看到在我们的model包下面有一个stu包 这个stu包下面就是我们的生成的后端代码
lq-admin
├── src
│ └── main
│ └── java
│ └── com
│ └── object
│ ├── aop
│ ├── config
│ ├── exception
│ ├── ip
│ ├── model
│ └── module
│ └── lq
│ └── stu
│ ├── bean
│ ├── controller
│ ├── mapper
│ └── service
启动我们的后端项目 run起来 b( ̄▽ ̄)d
lq-admin
├── src
│ └── main
│ ├── java
│ │ └── com.object
│ │ ├── aop
│ │ ├── config
│ │ ├── exception
│ │ ├── ip
│ │ ├── model
│ │ ├── module
│ │ ├── timer
│ │ ├── utils
│ │ └── LQApplication.java -- 狠狠的启动ta
│ └── resources
└── test
启动成功日志
2025-12-05 15:32:20.064 [restartedMain] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2025-12-05 15:32:20.192 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8888"]
2025-12-05 15:32:20.215 [restartedMain] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8888 (http) with context path '/object'
2025-12-05 15:32:20.229 [restartedMain] INFO com.object.LQApplication - Started LQApplication in 6.276 seconds (JVM running for 7.277)
后端启动完成:请求地址:http://localhost:8888/object