5分钟快速搭建一个 SpringBoot3 + MyBatis-Plus 工程/项目

环境

idea 2023.3.5
jdk 17
mysql 8

创建SpringBoot工程

创建SpringBoot工程,这里有两种方式可选,一种是使用idea提供的Spring Initializr自动创建,一种是通过Maven Archetype手动创建

自动创建SpringBoot工程

使用Spring Initializr创建,这里选择Maven类型,JDKJava选择17,选择后点击Next
在这里插入图片描述

上方选择自己想要的spring boot版本,下方在Web栏勾选Spring Web,选择后点击Create
在这里插入图片描述
pom.xml文件的右上角点击maven图标刷新maven依赖
在这里插入图片描述
刷新后,在工程名 + Application的文件中可以启动这个springBoot项目
在这里插入图片描述
这里我们创建一个/hello/word路径来做测试,在com.jiunian.springboot_mybatisplus_auto下创建controller包,并创建HelloController

@RestController
@RequestMapping("/hello")
public class HelloController {
    
    
    @RequestMapping("/world")
    public String helloWorld() {
    
    
        return "Hello World!";
    }
}

在这里插入图片描述
启动SpringbootMybatisplusAutoApplication
在这里插入图片描述
在下方的终端输出可以看出,项目启动在8080端口的/目录下
在这里插入图片描述
尝试访问,访问成功
在这里插入图片描述

手动创建SpringBoot工程

选择Maven Archetype方式创建项目,在Archetype处选择quickstart选项,选择后点击Create
在这里插入图片描述
等待项目创建完成,修改pom.xml文件添加springboot父类并添加spring-boot-web依赖,修改后需要点击右上角maven图标刷新依赖

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.4.1</version>
  </parent>
	<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.4.1</version>
  </parent>

  <groupId>com.jiunian</groupId>
  <artifactId>springboot_mybatisplus_manual</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>springboot_mybatisplus_manual</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

将初始提供给我们的App类重构,改名为SpringBootMyBatisPlusManualApplication,并将其内容修改为下方方式

package com.jiunian;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootMyBatisPlusManualApplication
{
    
    
    public static void main( String[] args )
    {
    
    
    	// 第一个参数是当前类的.class
        SpringApplication.run(SpringBootMyBatisPlusManualApplication.class, args);
    }
}

创建该项目的spring配置文件,在main下新创建一个文件夹,resources
在这里插入图片描述
在resource目录下创建一个application.yaml文件或application.properties,没有修改配置需求时可以不写东西
在这里插入图片描述
最后,和自动创建一样,创建一个/hello/word路径来做测试,在com.jiunian下创建controller包,并创建HelloController

@RestController
@RequestMapping("/hello")
public class HelloController {
    
    
    @RequestMapping("/world")
    public String helloWorld() {
    
    
        return "Hello World!";
    }
}

在这里插入图片描述
启动SpringbootMybatisplusManualApplication
在这里插入图片描述

在下方的终端输出可以看出,项目启动在8080端口的/目录下
在这里插入图片描述

尝试访问,访问成功
在这里插入图片描述

整合MyBatis-Plus

我这里使用手动创建的SpringBoot工程继续整合MyBatis-Plus,修改项目pom.xml,导入mybatis-pluslombokmysql-connector-java,其中lombok是用于简化类开发,修改后,记得更新maven依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.1</version>
    </parent>

    <groupId>com.jiunian</groupId>
    <artifactId>springboot_mybatisplus_manual</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot_mybatisplus_manual</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.8</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

修改application.yaml文件,配置数据库连接

spring:
  datasource:
  	# 连接的数据库地址
    url: jdbc:mysql:///mybatis?useSSL=false
    # 数据库用户名称
    username: root
    # 该用户的密码
    password: 123456

为了测试是否配置成功,我们创建数据库mybatis

create table mybatis

创建dept表

CREATE TABLE dept (
    id INT NOT NULL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    address VARCHAR(255) NOT NULL,
    age INT NOT NULL,
    sex VARCHAR(255) NOT NULL
);

插入语句

INSERT INTO dept VALUES (1, '张三', 25, '男', '北京');
INSERT INTO dept VALUES (2, '李四', 26, '男', '上海');
INSERT INTO dept VALUES (3, '王五', 30, '女', '天津');

创建对应的pojoDept,在com.jiunian下创建一个pojo包并在其下创建Dept

package com.jiunian.pojo;

import lombok.Data;
// 这里使用了lombok的注解
// 能够自动生成所有属性对应的getters/setters、equals、hashCode和toString方法
// 如果不使用 @TableName 注解,MyBatis-Plus 默认会使用实体类的类名作为表名(默认是首字母小写,驼峰转下划线形式)
@Data
public class Dept {
    
    
    private int id;
    private String name;
    private int age;
    private String sex;
    private String address;
}

如下图结构创建该类的MapperServiceServiceImpl
在这里插入图片描述
DeptMapper

package com.jiunian.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jiunian.pojo.Dept;
import org.apache.ibatis.annotations.Mapper;

@Mapper
// 继承BaseMapper<T>接口,可以直接调用Mybatis-Plus提供的CRUD方法
public interface DeptMapper extends BaseMapper<Dept> {
    
    
}

DeptService

package com.jiunian.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jiunian.pojo.Dept;

public interface DeptService extends IService<Dept> {
    
    
}

DeptServiceImpl

package com.jiunian.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jiunian.mapper.DeptMapper;
import com.jiunian.pojo.Dept;
import com.jiunian.service.DeptService;
import org.springframework.stereotype.Service;

@Service
public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements DeptService {
    
    
}

controller下为Dept创建一个控制类DeptController

package com.jiunian.controller;

import com.jiunian.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/dept")
public class DeptController {
    
    
    @Autowired
    private DeptService deptService;

    @RequestMapping("/getAll")
    public String getAll() {
    
    
        return deptService.list().toString();
    }
}

接下来访问localhost:8080/dept/getAll来检查是否连接成功,如下图所示,连接成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_74187645/article/details/144769822
今日推荐