【SpringBoot】实战-开发模式及环境搭建
·
实战概述

开发模式
接口文件


环境搭建

1.准备数据库
Postgressql的sql案例脚本
-- 用户表(需用双引号包裹关键字 "user")
CREATE TABLE "user" (
id SERIAL PRIMARY KEY, -- SERIAL 替代 auto_increment(证据 ) SERIAL 类型:自动生成唯一自增整数
username VARCHAR(20) NOT NULL UNIQUE, -- 强制账户唯一性
password VARCHAR(32), -- 预留密码哈希空间
nickname VARCHAR(10) DEFAULT '', -- 空字符串默认值 (DEFAULT '') 替代 NULL 值,避免空指针异常
email VARCHAR(128) DEFAULT '',
user_pic VARCHAR(128) DEFAULT '',
create_time TIMESTAMP NOT NULL, -- datetime 转为 TIMESTAMP 强制审计追踪
update_time TIMESTAMP NOT NULL
);
-- 添加表注释 独立于表结构的注释存储,不影响 DDL 执行效率
COMMENT ON TABLE "user" IS '用户表';
COMMENT ON COLUMN "user".id IS 'ID';
COMMENT ON COLUMN "user".username IS '用户名';
COMMENT ON COLUMN "user".password IS '密码';
COMMENT ON COLUMN "user".nickname IS '昵称';
COMMENT ON COLUMN "user".email IS '邮箱';
COMMENT ON COLUMN "user".user_pic IS '头像';
COMMENT ON COLUMN "user".create_time IS '创建时间';
COMMENT ON COLUMN "user".update_time IS '修改时间';
-- 分类表 建立与用户表的 1:N 关系,限制分类创建者必须存在于用户表
CREATE TABLE category (
id SERIAL PRIMARY KEY,
category_name VARCHAR(32) NOT NULL,
category_alias VARCHAR(32) NOT NULL,
create_user INTEGER NOT NULL,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
-- 外键约束(证据 [[6]][[9]])
CONSTRAINT fk_category_user
FOREIGN KEY (create_user) REFERENCES "user"(id)
ON DELETE NO ACTION ON UPDATE NO ACTION --阻止删除关联用户
);
-- 添加表注释
COMMENT ON TABLE category IS '分类表';
COMMENT ON COLUMN category.id IS 'ID';
COMMENT ON COLUMN category.category_name IS '分类名称';
COMMENT ON COLUMN category.category_alias IS '分类别名';
COMMENT ON COLUMN category.create_user IS '创建人ID';
COMMENT ON COLUMN category.create_time IS '创建时间';
COMMENT ON COLUMN category.update_time IS '修改时间';
-- 文章表
CREATE TABLE article (
id SERIAL PRIMARY KEY,
title VARCHAR(30) NOT NULL,
content TEXT NOT NULL, -- 无长度限制且存储更高效
cover_img VARCHAR(128) NOT NULL,
state VARCHAR(3) DEFAULT '草稿'
CHECK (state IN ('已发布', '草稿')), -- 检查约束确保状态值(证据 )
category_id INTEGER,
create_user INTEGER NOT NULL,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
-- 外键约束(证据 [[1]][[6]])
CONSTRAINT fk_article_category
FOREIGN KEY (category_id) REFERENCES category(id)
ON DELETE SET NULL ON UPDATE CASCADE, -- 分类删除时设为 NULL
CONSTRAINT fk_article_user
FOREIGN KEY (create_user) REFERENCES "user"(id)
ON DELETE CASCADE ON UPDATE CASCADE -- 用户删除时级联删除文章
);
-- 添加表注释
COMMENT ON TABLE article IS '文章表';
COMMENT ON COLUMN article.id IS 'ID';
COMMENT ON COLUMN article.title IS '文章标题';
COMMENT ON COLUMN article.content IS '文章内容';
COMMENT ON COLUMN article.cover_img IS '文章封面';
COMMENT ON COLUMN article.state IS '文章状态: 只能是[已发布]或[草稿]';
COMMENT ON COLUMN article.category_id IS '文章分类ID';
COMMENT ON COLUMN article.create_user IS '创建人ID';
COMMENT ON COLUMN article.create_time IS '创建时间';
COMMENT ON COLUMN article.update_time IS '修改时间';
SELECT * FROM big_event.public."user"

2.创建工程
利用手动创建的方式创建SpringBoot框架
首先创建maven工程


补齐资源文件夹resources

补齐配置文件application.yml

我们需要让当前工程集成一个父工程

添加web起步依赖,postgresql驱动,mybatis依赖

3.配置文件
配置mybatis的配置信息
查看url


4.创建包结构准备实体类
包结构

实体类

package com.zwh.pojo;
import java.time.LocalDateTime;
public class Article {
private Integer id;//主键ID
private String title;//文章标题
private String content;//文章内容
private String coverImg;//封面图像
private String state;//发布状态 已发布|草稿
private Integer categoryId;//文章分类id
private Integer createUser;//创建人ID
private LocalDateTime createTime;//创建时间
private LocalDateTime updateTime;//更新时间
}
package com.zwh.pojo;
import java.time.LocalDateTime;
public class Category {
private Integer id;//主键ID
private String categoryName;//分类名称
private String categoryAlias;//分类别名
private Integer createUser;//创建人ID
private LocalDateTime createTime;//创建时间
private LocalDateTime updateTime;//更新时间
}
package com.zwh.pojo;
import java.time.LocalDateTime;
public class User {
private Integer id;//主键ID
private String username;//用户名
private String password;//密码
private String nickname;//昵称
private String email;//邮箱
private String userPic;//用户头像地址
private LocalDateTime createTime;//创建时间
private LocalDateTime updateTime;//更新时间
}
提供启动类

运行测试

更多推荐

所有评论(0)