概要:基于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出现下面即成功