【Java项目脚手架系列】第五篇:Spring Boot + MyBatis项目脚手架
前言
在前面的文章中,我们介绍了 Spring Boot 基础项目脚手架。今天,我们将介绍 Spring Boot + MyBatis 项目脚手架,这是一个用于快速搭建企业级应用的框架。
什么是 Spring Boot + MyBatis?
Spring Boot + MyBatis 是一个强大的组合,它提供了:
- Spring Boot 的快速开发能力
- MyBatis 的灵活 SQL 映射
- 完整的数据库操作支持
- 事务管理能力
- 测试框架支持
技术栈
- Spring Boot 2.7.18:核心框架
- MyBatis 3.5.15:持久层框架
- MySQL 8.0:关系型数据库
- H2 Database:内存数据库,用于测试
- JUnit 5:测试框架
- Mockito:测试框架
- Maven 3.9.6:项目构建工具
Spring Boot + MyBatis 项目脚手架
1. 项目结构
src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── demo
│ │ ├── DemoApplication.java
│ │ ├── config
│ │ │ └── MyBatisConfig.java
│ │ ├── controller
│ │ │ └── UserController.java
│ │ ├── mapper
│ │ │ └── UserMapper.java
│ │ ├── model
│ │ │ ├── entity
│ │ │ │ └── User.java
│ │ │ └── vo
│ │ │ └── UserVO.java
│ │ └── service
│ │ ├── UserService.java
│ │ └── impl
│ │ └── UserServiceImpl.java
│ └── resources
│ ├── application.yml
│ ├── db
│ │ └── init.sql
│ └── mapper
│ └── UserMapper.xml
└── test
├── java
│ └── com
│ └── example
│ └── demo
│ ├── config
│ │ └── TestConfig.java
│ ├── controller
│ │ └── UserControllerTest.java
│ ├── mapper
│ │ └── UserMapperTest.java
│ └── service
│ └── UserServiceTest.java
└── resources
└── application-test.yml
2. 核心文件内容
2.1 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.example</groupId>
<artifactId>springboot-mybatis-scaffold</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.18</version>
<relativePath/>
</parent>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>