news 2026/2/7 15:17:09

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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来检查是否连接成功,如下图所示,连接成功

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/7 6:30:51

探讨 C++ 在工程实践中的独特价值、其对底层能力的深刻影响,以及在复杂系统设计中不可替代的作用,揭示技术发展的新趋势与面对的挑战

在互联网行业的早期阶段&#xff0c;技术红利极为明显。只要掌握一门主流语言&#xff0c;熟悉常见框架&#xff0c;就可以迅速参与项目、完成需求、获得不错的职业回报。但随着行业逐渐成熟&#xff0c;一个现实问题开始浮现&#xff1a;为什么技术工作年限相近的工程师&#…

作者头像 李华
网站建设 2026/2/4 4:56:05

AI Coding后端开发实战,非常详细收藏我这一篇就够了

前言&#xff1a;AI时代&#xff0c;我们该如何与AI Coding协作&#xff1f; 随着AI技术在软件开发领域的快速发展&#xff0c;AI Coding作为一款强大的AI辅助开发工具&#xff0c;正在深刻改变着我们的开发模式。然而&#xff0c;在实际应用过程中&#xff0c;许多开发人员在早…

作者头像 李华
网站建设 2026/2/3 8:37:00

AI智能体改变材料研发:7个案例,架构师的创新思路

AI智能体改变材料研发&#xff1a;7个案例&#xff0c;架构师的创新思路——技术博客文章 下面是根据用户输入的文章主题“AI智能体改变材料研发&#xff1a;7个案例&#xff0c;架构师的创新思路”撰写的一篇技术博客文章。文章采用Markdown格式&#xff0c;内容包括标题选项、…

作者头像 李华
网站建设 2026/2/3 12:09:16

【开题答辩全过程】以 旅游直通车服务为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/2/3 3:39:34

深度学习网络笔记Ⅴ(Transformer源码详解)

0.前言 基于上一章的学习我们深刻了解了Transformer架构&#xff0c;并也进一步了解到其真实的训练过程。接着进一步我们继续深究Transformer的源码上进行深层次的学习和理解&#xff0c;明白其中的核心内容首先我们需要关注几篇文章和源码。 https://nlp.seas.harvard.edu/ann…

作者头像 李华
网站建设 2026/2/7 14:24:58

魔法打败魔法?这6款超强ai降ai软件,这才是真正的降ai率工具,实测3分钟让文章回归低AI率,安全过检测!

你的论文是不是AI率超高&#xff1f;一查降ai率结果80%以上&#xff1f; 别急&#xff0c;这种情况很多人遇到过。 用AI工具写论文确实快&#xff0c;但“AI味”太浓就容易翻车。 今天我就来分享几款自己用过、真心能打的ai降ai工具&#xff0c;从免费降ai率工具到专业级都涵…

作者头像 李华