Springboot 博客_002 项目环境配置

本文介绍了如何在SpringBoot项目中配置MySQL数据库连接,使用MyBatis作为ORM框架,并创建数据库表结构、实体类以及利用Lombok简化getter和setter的生成。
摘要由CSDN通过智能技术生成

引入相关依赖

  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/

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人迈克猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值