【springboot CURD的环境搭建】

概要:基于springboot+mybatisplus+mysql对数据库CURD的环境搭建


前言

前置环境条件:
IDEA专业版,mysql数据库,JDK20


以下是本篇文章正文内容

一、springboot基本环境搭建

新建项目
在这里插入图片描述
出现以下界面
在这里插入图片描述
设置初始源为https://start.aliyun.com
在这里插入图片描述
在这里插入图片描述
修改详细信息
注意:Type改为Maven(这个是包管理工具),Location不能有中文路径(这个是代码路径)
修改过后如下
在这里插入图片描述
点击next
在这里插入图片描述
这里需要注意spingboot的版本是2.6.13
需要的环境依赖如右下
在这里插入图片描述
点击create

二、数据库表创建

点击数据库图标
请添加图片描述
点击加号,选择mysql
在这里插入图片描述
输入本机mysql数据库账号密码
在这里插入图片描述
连接成功后,右键选择新建模式
在这里插入图片描述
在这里插入图片描述
在schema上新建表

create table demo
(
    id   bigint,
    name varchar(20) null,
    constraint demo_pk
        primary key (id)
);

alter table demo
    modify id bigint auto_increment;

在这里插入图片描述

在这里插入图片描述

三、代码生成

这里用到一个插件为MybatisX,需要自行安装
在这里插入图片描述
单表代码自动生成
在这里插入图片描述
信息修改,这里修改基本包和路径
在这里插入图片描述
这里点击两个mp3
在这里插入图片描述
可以看见多了一些包
在这里插入图片描述

四、环境填补

现在添加依赖
点击pom.xml文件
在这里插入图片描述
添加如下依赖

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3</version>
        </dependency>

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
            <version>4.3.0</version>
        </dependency>

右键重新加载
在这里插入图片描述
删除老配置文件
在这里插入图片描述
新建配置文件
在这里插入图片描述
内容如下
记得修改密码为自己的数据库密码

server:
  port: 8080
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/demo
    username: root
    password: 1234
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
  mapper-locations: classpath:mapper/*.xml
logging:
  level:
    #打印SQL信息
    com.hehe.mapper: debug
knife4j:
  enable: true
  openapi:
    title: 接口文档
    description: demo接口文档
    email: 825271187@qq.com
    concat: 阿吉
    version: v1.0.0
    group:
      default:
        group-name: default
        api-rule: package
        api-rule-resources:
          com.aji.demo.controller

新建三个类
在这里插入图片描述
在这里插入图片描述

package com.aji.demo.result;

import lombok.Data;

import java.io.Serializable;

/**
 * 后端统一返回结果
 * @param <T>
 */
@Data
public class Result<T> implements Serializable {

    private Integer code; //编码:1成功,0和其它数字为失败
    private String msg; //错误信息
    private T data; //数据

    public static <T> Result<T> success() {
        Result<T> result = new Result<T>();
        result.code = 1;
        return result;
    }

    public static <T> Result<T> success(T object) {
        Result<T> result = new Result<T>();
        result.data = object;
        result.code = 1;
        return result;
    }

    public static <T> Result<T> error(String msg) {
        Result result = new Result();
        result.msg = msg;
        result.code = 0;
        return result;
    }

}

在这里插入图片描述

package com.aji.demo.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@MapperScan("com.aji.demo.mapper")
public class MybatisPlusConfig {

    /**
     * 添加分页插件
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
        // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
        return interceptor;
    }
}

在这里插入图片描述

package com.aji.demo.controller;

import com.aji.demo.result.Result;
import com.aji.demo.service.DemoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@CrossOrigin
@Api(tags = "接口")
@RestController
@RequestMapping("/demo")
@RequiredArgsConstructor
public class DemoController {
    private final DemoService demo1Service;
    @ApiOperation("查询 全部")
    @GetMapping("/list")
    public Result list(){
        return Result.success(demo1Service.list());
    }
}

点击运行
在这里插入图片描述
打开浏览器输入http://localhost:8080/doc.html出现下面即成功
在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值