当前位置: 首页 > news >正文

【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_userFOREIGN 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_categoryFOREIGN KEY (category_id) REFERENCES category(id)ON DELETE SET NULL ON UPDATE CASCADE,  -- 分类删除时设为 NULLCONSTRAINT fk_article_userFOREIGN 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;//主键IDprivate String title;//文章标题private String content;//文章内容private String coverImg;//封面图像private String state;//发布状态 已发布|草稿private Integer categoryId;//文章分类idprivate Integer createUser;//创建人IDprivate LocalDateTime createTime;//创建时间private LocalDateTime updateTime;//更新时间
}
package com.zwh.pojo;import java.time.LocalDateTime;public class Category {private Integer id;//主键IDprivate String categoryName;//分类名称private String categoryAlias;//分类别名private Integer createUser;//创建人IDprivate LocalDateTime createTime;//创建时间private LocalDateTime updateTime;//更新时间
}
package com.zwh.pojo;import java.time.LocalDateTime;public class User {private Integer id;//主键IDprivate String username;//用户名private String password;//密码private String nickname;//昵称private String email;//邮箱private String userPic;//用户头像地址private LocalDateTime createTime;//创建时间private LocalDateTime updateTime;//更新时间
}

提供启动类

运行测试


文章转载自:
http://baldaquin.aaladrg.cn
http://chromo.aaladrg.cn
http://cantal.aaladrg.cn
http://buckish.aaladrg.cn
http://ceasefire.aaladrg.cn
http://actinotheraphy.aaladrg.cn
http://abrazo.aaladrg.cn
http://airstrip.aaladrg.cn
http://bomblet.aaladrg.cn
http://battlements.aaladrg.cn
http://chamotte.aaladrg.cn
http://arbitrageur.aaladrg.cn
http://atherosis.aaladrg.cn
http://avp.aaladrg.cn
http://aigret.aaladrg.cn
http://basaltiform.aaladrg.cn
http://butterfat.aaladrg.cn
http://agrogorod.aaladrg.cn
http://acrogenous.aaladrg.cn
http://affricate.aaladrg.cn
http://accomplishable.aaladrg.cn
http://carminative.aaladrg.cn
http://bumblebee.aaladrg.cn
http://analogous.aaladrg.cn
http://agname.aaladrg.cn
http://annotation.aaladrg.cn
http://ambush.aaladrg.cn
http://athodyd.aaladrg.cn
http://chessman.aaladrg.cn
http://bonesetting.aaladrg.cn
http://www.dtcms.com/a/281542.html

相关文章:

  • 学习嵌入式的第二十八天-数据结构-(2025.7.15)进程和线程
  • For and While Loop
  • javaScript 基础知识(解决80%js面试问题)
  • 代码随想录算法训练营十六天|二叉树part06
  • 配置nodejs,若依
  • 【08】MFC入门到精通——MFC模态对话框 和 非模态对话框 解析 及 实例演示
  • Git未检测到文件更改
  • 密码协议的基本概念
  • bytetrack漏检补齐
  • Nginx配置反向代理
  • 【世纪龙科技】智能网联汽车环境感知系统教学软件
  • C# StringBuilder源码分析
  • Java大厂面试实录:从Spring Boot到AI微服务架构的层层递进
  • 华为OD 特异双端队列
  • 魔搭官方教程【快速开始】-swift 微调报错:`if v not in ALL_PARALLEL_STYLES`
  • [数据结构]#3 循环链表/双向链表
  • Spring AI Alibaba 1.0 vs Spring AI 深度对比
  • 信息学奥赛一本通 1552:【例 1】点的距离
  • 记一次POST请求中URL中文参数乱码问题的解决方案
  • React响应式组件范式:从类组件到Hooks
  • Ubuntu 安装
  • 回收站里的文件被删除了怎么还原和恢复
  • 京存大容量存储助力“国漫之光”·玄机动画
  • 注解和反射
  • 3D视频技术全解析:从原理架构到产业应用的深度探索
  • Python文本统计分析工具
  • 集训Demo2
  • 巧用Bitset!优化dp
  • “C21988-谷物烘干机(2D+3D+说明书+运动仿真)8张cad+设计说明书
  • Eplan API SQL