Springboot 博客_002 项目环境配置

引入相关依赖

  1. mysql
  2. mybatis
		<dependency>
			<groupId>com.mysql</groupId>
			<artifactId>mysql-connector-j</artifactId>
		</dependency>

		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>3.0.3</version>
		</dependency>

在这里插入图片描述

在application.yml中配置数据库信息

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/big_event
    username: root
    password: root

在这里插入图片描述

创建目录结构

在这里插入图片描述

创建数据库

在这里插入图片描述

-- 创建数据库
create database springboot_blog;

-- 使用数据库
use springboot_blog;

-- 用户表
create table user (
                      id int unsigned primary key auto_increment comment 'ID',
                      username varchar(20) not null unique comment '用户名',
                      password varchar(32)  comment '密码',
                      nickname varchar(10)  default '' comment '昵称',
                      email varchar(128) default '' comment '邮箱',
                      user_pic varchar(128) default '' comment '头像',
                      create_time datetime not null comment '创建时间',
                      update_time datetime not null comment '修改时间'
) comment '用户表';

-- 分类表
create table category(
                         id int unsigned primary key auto_increment comment 'ID',
                         category_name varchar(32) not null comment '分类名称',
                         category_alias varchar(32) not null comment '分类别名',
                         create_user int unsigned not null comment '创建人ID',
                         create_time datetime not null comment '创建时间',
                         update_time datetime not null comment '修改时间',
                         constraint fk_category_user foreign key (create_user) references user(id) -- 外键约束
);

-- 文章表
create table article(
                        id int unsigned primary key auto_increment comment 'ID',
                        title varchar(30) not null comment '文章标题',
                        content varchar(10000) not null comment '文章内容',
                        cover_img varchar(128) not null  comment '文章封面',
                        state varchar(3) default '草稿' comment '文章状态: 只能是[已发布] 或者 [草稿]',
                        category_id int unsigned comment '文章分类ID',
                        create_user int unsigned not null comment '创建人ID',
                        create_time datetime not null comment '创建时间',
                        update_time datetime not null comment '修改时间',
                        constraint fk_article_category foreign key (category_id) references category(id),-- 外键约束
                        constraint fk_article_user foreign key (create_user) references user(id) -- 外键约束
)

创建实体类

在这里插入图片描述

Article.java

package com.geji.springboot_blog_demo5.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;//更新时间
}


Category.java

package com.geji.springboot_blog_demo5.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;//更新时间
}

User.java

package com.geji.springboot_blog_demo5.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;//更新时间
}

给实体类添加getter,setter方法

以上实体类没有getter,setter等方法,可以使用lombok在编辑阶段自动生成

  1. 在依赖中引入lombok
		<!--    lombok依赖-->
		<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		</dependency>

在这里插入图片描述

  1. 在实体类上加入@Data注解
package com.geji.springboot_blog_demo5.pojo;

import java.time.LocalDateTime;

import lombok.Data;
 
@Data
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;//更新时间
}


在这里插入图片描述

  1. 在maven中重新编译,然后在target文件夹中就会发现编译好的实体类中有getter,setter等方法了
    在这里插入图片描述

Result实体接口

1.1 响应数据举例

响应数据都是下面这种格式,所以创建一个响应数据类Result

响应数据类型:application/json

响应参数说明:

名称类型是否必须默认值备注其他信息
codenumber必须响应码, 0-成功,1-失败
messagestring非必须提示信息
dataobject非必须返回的数据

响应数据样例:

{
    "code": 0,
    "message": "操作成功",
    "data": null
}

1.2 创建Result响应类

package com.geji.springboot_blog_demo5.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
 
//统一响应结果
//以下三个注释,无参构造,有参构造,getter,setter方法
@NoArgsConstructor
@AllArgsConstructor
@Data
public class Result<T> {
    private Integer code;//业务状态码  0-成功  1-失败
    private String message;//提示信息
    private T data;//响应数据
 
    // 快速返回操作成功响应结果(带响应数据)
    // 定义泛型E, 返回带参<E>的Result类型的数据
    public static <E> Result<E> success(E data) {
        return new Result<>(0, "操作成功", data);
    }
 
    // 快速返回操作成功响应结果
    // 返回result类型的数据
    public static Result success() {
        return new Result(0, "操作成功", null);
    }
 
    // 返回result类型的数据
    public static Result error(String message) {
        return new Result(1, message, null);
    }
}

在这里插入图片描述

Tips

maven官网

https://mvnrepository.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/478904.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库关系运算理论:专门的关系运算概念解析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

德邦物流、京东重货、跨越速运、百世快运同台比价,寄哪个物流最便宜?一目了然

快递物流上门取件综合版的上线确实为许多用户提供了极大的便利。 德邦物流、京东重货、跨越速运、百世快运等作为业内知名的物流公司&#xff0c;其服务质量和运输效率都得到了广大用户的认可。 一键下单的功能更是简化了操作流程&#xff0c;提高了用户体验。 德邦物流&…

【半导体存储】关于NANDFlash的一些小知识

前言 作为一名电子专业的学生&#xff0c;半导体存储显然是绕不过去的一个坎&#xff0c;今天聊一聊关于NandFlash的一些小知识。 这里十分感谢深圳雷龙发展有限公司为博主提供的两片SD NAND的存储芯片&#xff0c;同时也给大家推荐该品牌的相关产品。 一、定义 存储芯…

漫谈微服务网关

一、什么是服务网关 服务网关 路由转发 过滤器 1、路由转发&#xff1a;接收一切外界请求&#xff0c;转发到后端的微服务上去&#xff1b; 2、过滤器&#xff1a;在服务网关中可以完成一系列的横切功能&#xff0c;例如权限校验、限流以及监控等&#xff0c;这些都可以通过…

(Linux 学习十二)文件查找和文件压缩

一.文件查找 which 命令查找 也可以用 whereis find 文件查找&#xff0c;针对文件名 locate 文件查找&#xff0c;依赖数据库alias 别名 alias yyy ls --colorauto -l yyy //相当于别名 查看文件which ls //查找ls 命令位置 whereis vim //也是查找命令locate …

Gitlab介绍

1.什么是Gitlab GitLab是一个流行的版本控制系统平台&#xff0c;主要用于代码托管、测试和部署。 GitLab是基于Git的一个开源项目&#xff0c;它提供了一个用于仓库管理的Web服务。GitLab使用Ruby on Rails构建&#xff0c;并提供了诸如wiki和issue跟踪等功能。它允许用户通…

文献速递:基于SAM的医学图像分割---医疗 SAM 适配器:适配用于医学图像分割的 Segment Anything 模型

Title 题目 Medical SAM Adapter: Adapting Segment Anything Model for Medical Image Segmentation 医疗 SAM 适配器&#xff1a;适配用于医学图像分割的 Segment Anything 模型 01 文献速递介绍 最近&#xff0c;Segmentation Anything 模型&#xff08;SAM&#xff09;…

Tuxera NTFS使用教程:关于Tuxera NTFS mac还有你不知道的用法

NTFS for Mac是Mac电脑里非常重要的工具之一&#xff0c;因为它太实用了&#xff0c;解决了NTFS移动硬盘在Mac上的写入问题。但是&#xff0c;小伙伴在安装完软件之后&#xff0c;通常再也不会关注它&#xff0c;甚至时间长了&#xff0c;也就忘了Mac里还有这么一个软件。 在T…

​2024年保护微服务的前10种技术

1*5rY-jEv7qlpa_swi4WMIBw.png 引言 与当前正在使用的任何其他技术或方法一样&#xff0c;微服务也有其自己的一套缺陷和问题。尽管如此&#xff0c;微服务架构的采用率不断增加&#xff0c;预计到2028年将达到1718.2亿美元。 然而&#xff0c;尽管团队使用微服务&#xff0c;但…

RabbitMQ的使用—实战

RabbitMQ的使用—实战 ​ RabbitMQ是一个开源的消息代理中间件&#xff0c;在分布式系统开发中被广泛应用。它实现了高级消息队列协议&#xff08;AMQP&#xff09;&#xff0c;提供可靠的消息传递、灵活的路由、消息确认等功能。下面是使用RabbitMQ的基本流程&#xff1a; 安…

动态QCA|一条通向动态QCA产出的道路2.0

一、《A General Approach to Panel Data Set-Theoretic Research 》阅读 摘要&#xff1a;基于一般线性统计模型的学术研究正迅速向纵向和面板数据计量经济学方法的更广泛和更丰富的应用方向发展。相比之下&#xff0c;集合论的实证研究&#xff0c;尽管其日益普及&#xff0c…

GraalVM详细安装及打包springboot、java、javafx使用教程(打包javafx项目篇)

前言 在当前多元化开发环境下&#xff0c;Java作为一种广泛应用的编程语言&#xff0c;其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱&#xff0c;而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而&#xff…

ANDRAXv6软件工具列表介绍

系统环境&#xff1a;Xiaomi HyperOS Android 14 以下列表仅为部分内容&#xff0c;实际工具更多&#xff0c;方便大家了解为什么ANDRAX比NetHunter更强大 注意以下内容&#xff1a;仅供学习&#xff0c;未经相关部门许可请勿随意测试或恶意破坏公共网络设备&#xff0c;违者…

工控机在机器人领域的应用丨工业一体机的应用

随着机器人技术的不断发展&#xff0c;机器人在制造、物流等领域得到了广泛应用。而工业控制计算机&#xff08;工控机&#xff09;作为机器人控制系统的核心设备&#xff0c;也在机器人领域发挥着越来越重要的作用。 机器人控制系统是机器人的核心部分&#xff0c;控制系统的…

基于Springboot的农产品销售管理系统+数据库+免费远程调试

项目介绍: 基于Springboot的农产品销售管理系统。Javaee项目&#xff0c;springboot项目。采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过SpringMvc SpringBootMybatisVuemaven来实现。MyS…

Uscrapper:一款功能强大的网络资源爬取工具

关于Uscrapper Uscrapper是一款功能强大的网络资源爬取工具&#xff0c;该工具可以帮助广大研究人员从各种网络资源中轻松高效地提取出有价值的数据&#xff0c;并且提供了稳定、友好且易于使用的UI界面&#xff0c;是安全研究人员和网络分析人员的强有力工具。 Uscrapper最大…

PR如何制作火焰特效?VFX火焰动画元素PR视频剪辑素材

如何使用Premiere软件制作火焰特效动画&#xff1f;VFX火焰特效元素动画pr视频剪辑素材。使用颜色控制器轻松自定义辉光效果的颜色和强度。每个场景都充满逼真的火焰。在预告片、极限运动视频或任何需要电影火力的场景中添加动作的好方法。 来自&#xff1a;pr素材库&#xff0…

python云上水果超市的设计与实现flask-django-php-nodejs

伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对云上水果超市进行规范而严格是十分有必要的&#xff0c;所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套云上水果超市&#xff0c;帮助商家进行商品信…

仿京东项目——京西商城(数据库设计)

文章目录 仿京东——京西商城数据库设计建立E-R图数据库表设计用户表商品表订单表订单详情表评论表购物车表购物车项表 仿京东——京西商城 数据库设计 主要实体有&#xff1a; 用户 用户ID&#xff08;User_ID&#xff09;&#xff1a;唯一标识用户的主键 用户名&#xff0…