springboot 和 mybatisplus
时间: 2025-05-11 20:19:41 浏览: 23
### SpringBoot 集成 MyBatisPlus 使用教程
#### 1. 添加依赖
为了在项目中集成 MyBatis-Plus,首先需要在 `pom.xml` 文件中引入必要的 Maven 依赖项。以下是常用的依赖配置:
```xml
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>
<!-- MySQL Driver -->
<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>
</dependencies>
```
上述依赖包含了 MyBatis-Plus 和数据库驱动程序的相关组件[^1]。
---
#### 2. 数据库连接配置
在项目的 `application.yml` 或 `application.properties` 中配置数据库连接信息。以下是一个典型的 YAML 配置示例:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath*:mapper/*.xml
```
此部分定义了数据库 URL、用户名、密码以及其他相关参数[^3]。
---
#### 3. 启动类设置
创建一个标准的 Spring Boot 启动类,并通过注解启用 MyBatis-Plus 功能。如果需要集成 Swagger 文档功能,则可以一并加入支持。
```java
package com.example.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.example.demo.mapper") // 扫描 Mapper 接口所在的包路径
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
在此处使用了 `@MapperScan` 注解来指定 Mapper 接口的位置[^2]。
---
#### 4. 创建实体类
假设有一个名为 `User` 的表结构如下所示:
| 字段名 | 类型 |
|------------|--------------|
| id | BIGINT |
| name | VARCHAR(50) |
| age | INT |
对应的实体类可以通过 Lombok 自动生成 Getter 和 Setter 方法:
```java
package com.example.demo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
}
```
这里利用了 MyBatis-Plus 提供的 `@TableId` 注解来自动生成主键策略。
---
#### 5. 定义 Mapper 接口
无需手动编写 SQL 查询语句即可完成 CRUD 操作。只需继承 `BaseMapper<T>` 即可获得基础的功能支持。
```java
package com.example.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
该接口会自动映射到对应的数据表上,并提供诸如查询、新增、修改和删除等功能。
---
#### 6. 测试代码生成器(可选)
MyBatis-Plus 还内置了一个强大的代码生成工具,能够自动生成 Entity、Mapper、Service 及其实现类等文件。以下是简单的代码生成器配置实例:
```java
package com.example.demo.generator;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 设置全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
gc.setAuthor("Your Name");
gc.setOpen(false);
mpg.setGlobalConfig(gc);
// 设置数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("your_password");
mpg.setDataSource(dsc);
// 设置包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.demo");
pc.setModuleName(null);
mpg.setPackageInfo(pc);
// 设置策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("user"); // 表名
strategy.setNaming(com.baomidou.mybatisplus.generator.config.rules.NamingStrategy.underline_to_camel);
mpg.setStrategy(strategy);
mpg.execute();
}
}
```
运行以上代码后会在指定目录下生成所需的 Java 文件。
---
#### 总结
通过上述步骤,您可以轻松地将 MyBatis-Plus 集成至您的 Spring Boot 项目中,并充分利用它所提供的高效开发能力。无论是基础的 CURD 操作还是高级特性的扩展都变得极为简便。
---
阅读全文
相关推荐

















