Bootstrap

springboot+mybaitsplus+vue简单的CURD

springboot+mybaitsplus+vue简单的CURD

环境:

jdk1.8 、maven3.3.6+、MySQL5.7

开发工具:ieda

后端创建

  1. 创建springboot项目,填写项目名称。
    在这里插入图片描述
  2. 添加依赖,这里不添加也可以,后面在pom文件添加也行。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. next——>finish
    在这里插入图片描述
  4. 下载依赖完成以后得到这样一个目录,启动项目看看是否成功。
    在这里插入图片描述
  5. 如果依赖下载不成功,设置自己阿里云的maven
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
已经配置的可以忽略此步骤

阿里云配置如下
在这里插入图片描述

<mirror>
		<id>aliyunmaven</id>
		<mirrorOf>*,!jeecg,!jeecg-snapshots,!getui-nexus</mirrorOf>
		<name>aliyun maven</name>
		<url>https://maven.aliyun.com/repository/public</url>
</mirror>

仓库位置
在这里插入图片描述

<localRepository>D:\Repository\ideaRepository</localRepository>
  1. 配置数据库,删掉application.properties,新建application.yarm和application-dev.yaml文件
    在这里插入图片描述

  2. 配置数据源

application-dev.yaml

#开发环境
spring:
  #数据库连接信息
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/zoo
    username: root
    password: 123456
#端口
# context-path 默认根目录
server:
  port: 8089
#  servlet:
#    context-path: /api
#扫描mapper
mybatis-plus:
  mapper-locations: classpath:/mapper/*.xml

application.yarm
spring:
  application:
    name: user
  #启用配置文件
  profiles:
    active: dev



数据库配置:

  • 打开navicat测试连接
    在这里插入图片描述
  • 连接成功创建数据库
    在这里插入图片描述
    点击新建数据库,填写数据库名称和字符集、排序规则。然后保存
    在这里插入图片描述

在这里插入图片描述
8.启动项目
在这里插入图片描述
看控制台信息
在这里插入图片描述

成功!

开始编写curd代码

  • pom文件添加依赖
    在这里插入图片描述
  • 相关依赖如下:
<dependencies>
		<!--web组件-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--springboot版本-->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.2.2</version>
		</dependency>
		<!--热加载-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<!--数据库源-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<!--Lombok工具 简化代码-->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<!--测试依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!--代码生成器,必须加入freemarker-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-generator</artifactId>
			<version>3.5.1</version>
		</dependency>
		<dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker</artifactId>
			<version>2.3.30</version>
		</dependency>
		<!--mybatis-plus-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.4.2</version>
		</dependency>
		<!--API管理工具
			重要特性:
            1.代码侵入式注解
            2.遵循YAML文档格式
            3.非常适合三端(PC、iOS及Android)的API管理,尤其适合前后端完全分离的架构模式。
            4.减少没有必要的文档,符合敏捷开发理念
            5.功能强大-->
		<dependency>
			<groupId>io.swagger</groupId>
			<artifactId>swagger-annotations</artifactId>
			<version>1.5.22</version>
		</dependency>
	</dependencies>
  • 简化开发使用mybatis-plus代码生成器
  • 步骤:
    1.创建utils包
    在这里插入图片描述
    2.GenerateTool类(生成器代码类)
package com.cjy.mybatis_plus.utils;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import lombok.extern.slf4j.Slf4j;

import java.util.Collections;

/**
 * @ClassName GenerateTool
 * @Author xieyixu
 * @create 2022/5/13 15:48
 */
@Slf4j
public class GenerateTool {
    public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/zoo", "root", "123456")
                .globalConfig(builder -> {
                    builder.author("xieyixu") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D:\\IDEA\\mybatis_plus\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.cjy") // 设置父包名
                            .moduleName("mybatis_plus") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D:\\IDEA\\mybatis_plus\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder
                            .addInclude("admin")// 设置需要生成的表名
                            .addInclude("anima")
                            .addInclude("breeder")
                            .addInclude("doctor")
                            .addInclude("support")
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}


3.数据库表设计
在这里插入图片描述

  • SQL脚本
/*
 Navicat Premium Data Transfer

 Source Server         : MySQL
 Source Server Type    : MySQL
 Source Server Version : 50711
 Source Host           : localhost:3306
 Source Schema         : zoo

 Target Server Type    : MySQL
 Target Server Version : 50711
 File Encoding         : 65001

 Date: 13/05/2022 16:22:22
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin`  (
  `id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别',
  `age` int(3) NULL DEFAULT NULL COMMENT '年龄',
  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '管理员表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for anima
-- ----------------------------
DROP TABLE IF EXISTS `anima`;
CREATE TABLE `anima`  (
  `id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '动物编号',
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '动物名',
  `species` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '动物品种',
  `price` float(10, 2) NULL DEFAULT NULL COMMENT '价格',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '动物表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for breeder
-- ----------------------------
DROP TABLE IF EXISTS `breeder`;
CREATE TABLE `breeder`  (
  `id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别',
  `age` int(3) NULL DEFAULT NULL COMMENT '年龄',
  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '饲养员表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for doctor
-- ----------------------------
DROP TABLE IF EXISTS `doctor`;
CREATE TABLE `doctor`  (
  `id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别',
  `age` int(3) NULL DEFAULT NULL COMMENT '年龄',
  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '医生表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for support
-- ----------------------------
DROP TABLE IF EXISTS `support`;
CREATE TABLE `support`  (
  `id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别',
  `age` int(3) NULL DEFAULT NULL COMMENT '年龄',
  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后勤人员表' ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

  • 运行脚本即可
    在这里插入图片描述
  • 接下来运行代码生成器即可生成

在这里插入图片描述

  • 得到如图所示目录:
    在这里插入图片描述
  • 到这里基本OK,自动生成不会自动加注解自己手动加
    在这里插入图片描述
  • 添加主键删除使用Lombok工具删除get和set方法
    在这里插入图片描述
  • 编辑接口数据,简单的curd就这样实现了
    在这里插入图片描述
    AdminController类
package com.cjy.mybatis_plus.controller;


import com.cjy.mybatis_plus.entity.Admin;
import com.cjy.mybatis_plus.service.IAdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.stereotype.Controller;

/**
 * <p>
 * 管理员表 前端控制器
 * </p>
 *
 * @author xieyixu
 * @since 2022-05-13
 */
@Controller
@RequestMapping("/mybatis_plus/admin")
public class AdminController {

   @Autowired
    private IAdminService iAdminService;


    /**
     * 新增人员
     * @param admin
     */
   @PutMapping("/save")
    public void save(Admin admin){
        iAdminService.save(admin);
    }

}

  • 编写测试类
    在这里插入图片描述

MybatisPlusApplicationTests类

package com.cjy.mybatis_plus;

import com.cjy.mybatis_plus.entity.Admin;
import com.cjy.mybatis_plus.service.IAdminService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
	class MybatisPlusApplicationTests {
@Autowired
private IAdminService iAdminService;
	@Test
	/**
	 * 新增100条
	 */
	void save() {
		for (int i = 0; i <20 ; i++) {
			Admin admin = new Admin();
			admin.setId("0"+i);
			admin.setAge(25);
			admin.setName("李四");
			admin.setPhone("15487956123");
			admin.setSex("男");
			iAdminService.save(admin);
		}
	}


	@Test
	/**
	 * 删除 编号 00管理员
	 */
	void delete() {
		iAdminService.removeById(00);
	}


	@Test
	/**
	 * 修改 编号 01的管理员
	 */
	void update() {
		Admin admin = new Admin();
		admin.setId("01");
		admin.setAge(25);
		admin.setName("张三");
		admin.setPhone("15487956123");
		admin.setSex("男");
		iAdminService.updateById(admin);
	}

	@Test
	/**
	 * 查找编号为01的管理员
	 */
	void find() {
		Admin byId = iAdminService.getById(01);
		System.out.println(byId);
	}


}

结果:

在这里插入图片描述
OK!
vue搭建看我这篇文章cmd搭建vue手脚架
或者idea搭建vue项目

;