前言
在上期内容中,我们完成了 MyBatis Plus 项目的环境准备,包括安装 JDK 和 Maven、创建 MySQL 数据库以及使用 Spring Initializr 生成项目骨架。这为后续开发打下了基础,使我们能够专注于实现具体功能。
本期内容将继续深入,重点介绍如何初始化项目,包括创建 Maven 项目、添加 MyBatis Plus 依赖以及配置数据库连接。这些步骤将帮助你进一步理解 MyBatis Plus 的基本使用,并为开发高效的持久层打下基础。
一、创建 Maven 项目
-
使用 Spring Initializr 创建项目:
- 打开 Spring Initializr 网站,配置项目:
- Project: Maven Project
- Language: Java
- Spring Boot: 2.5.4(或最新版本)
- Project Metadata:
- Group: com.example
- Artifact: mybatis-plus-demo
- Name: mybatis-plus-demo
- Package name: com.example.mybatisplusdemo
- Dependencies: 添加
Spring Web
、MyBatis Plus
、MySQL Driver
- 打开 Spring Initializr 网站,配置项目:
-
下载并解压项目:
- 点击 “Generate” 按钮,下载生成的项目压缩包。
- 解压缩后,使用 IDE(如 IntelliJ IDEA 或 Eclipse)打开项目。
二、添加 MyBatis Plus 依赖
在 pom.xml
文件中添加 MyBatis Plus 相关的依赖。以下是示例配置:
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- MyBatis Plus Starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Spring Boot Configuration Processor -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
<!-- Spring Boot Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
三、配置数据库连接
-
创建
application.yml
文件:- 在
src/main/resources
目录下创建application.yml
文件,并添加以下配置:spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus_demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC username: root password: your_password mybatis-plus: mapper-locations: classpath:/mapper/*.xml
- 在
-
创建
application-dev.yml
文件(可选):- 如果需要不同的环境配置,可以创建
application-dev.yml
文件,并添加以下配置:spring: profiles: active: dev spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus_demo_dev?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC username: root password: your_password
- 如果需要不同的环境配置,可以创建
四、创建实体类和 Mapper 接口
-
创建实体类目录:
- 在
src/main/java/com/example/mybatisplusdemo/entity
目录下创建实体类User
:package com.example.mybatisplusdemo.entity; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @Data @TableName("user") public class User { @TableId private Long id; private String name; private Integer age; private String email; }
- 在
-
创建 Mapper 接口目录:
- 在
src/main/java/com/example/mybatisplusdemo/mapper
目录下创建 Mapper 接口UserMapper
:package com.example.mybatisplusdemo.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.mybatisplusdemo.entity.User; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper extends BaseMapper<User> { }
- 在
五、配置 MyBatis Plus 的 Mapper 扫描
为了让 Spring Boot 自动扫描和识别 Mapper 接口,我们需要在启动类中配置 Mapper 扫描路径。
- 修改启动类:
- 打开
MybatisPlusDemoApplication
类,添加@MapperScan
注解:package com.example.mybatisplusdemo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.mybatisplusdemo.mapper") public class MybatisPlusDemoApplication { public static void main(String[] args) { SpringApplication.run(MybatisPlusDemoApplication.class, args); } }
- 打开
六、测试配置
-
测试数据库连接:
- 确保数据库连接配置正确,可以通过简单的单元测试来验证数据库连接是否成功。创建
src/test/java/com/example/mybatisplusdemo
目录,并在该目录下创建DatabaseConnectionTest
类:package com.example.mybatisplusdemo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; @SpringBootTest public class DatabaseConnectionTest { @Autowired private JdbcTemplate jdbcTemplate; @Test public void testConnection() { Integer result = jdbcTemplate.queryForObject("SELECT 1", Integer.class); assert result != null && result == 1; } }
- 确保数据库连接配置正确,可以通过简单的单元测试来验证数据库连接是否成功。创建
-
测试 CRUD 操作:
- 创建一个简单的单元测试类,验证 CRUD 操作是否正常工作。创建
UserServiceTest
类:package com.example.mybatisplusdemo; import com.example.mybatisplusdemo.entity.User; import com.example.mybatisplusdemo.service.UserService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest public class UserServiceTest { @Autowired private UserService userService; @Test public void testCRUD() { User user = new User(); user.setName("Test User"); user.setAge(30); user.setEmail("test@example.com"); // Test save userService.save(user); // Test list List<User> users = userService.list(); assert users.size() > 0; // Test update user.setAge(31); userService.updateById(user); // Test delete userService.removeById(user.getId()); } }
- 创建一个简单的单元测试类,验证 CRUD 操作是否正常工作。创建
七、总结
通过本篇文章,你已经成功创建并配置了一个集成 MyBatis Plus 的 Spring Boot 项目。你已经学会了如何添加依赖、配置数据库连接、创建实体类、Mapper 接口,并测试了基本的 CRUD 操作。在接下来的文章中,我们将进一步探讨 MyBatis Plus 的基础配置,包括分页插件、乐观锁插件和性能分析插件的使用。
下期预告
在下一期内容中,我们将详细介绍 MyBatis Plus 的基础配置。这些配置包括分页插件的使用、乐观锁的配置以及性能分析插件的集成。这些功能将帮助我们更好地管理数据库操作,提高项目的开发效率和运行性能。敬请期待!