// 全局配置 GlobalConfig globalConfig = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); globalConfig.setOutputDir(projectPath + "/src/main/java"); globalConfig.setAuthor(AUTHOR); globalConfig.setOpen(false); globalConfig.setFileOverride(false); generator.setGlobalConfig(globalConfig);
时间: 2025-04-04 11:04:27 浏览: 39
### MyBatis-Plus GlobalConfig 配置示例及参数说明
MyBatis-Plus 提供了一个强大的 `GlobalConfig` 类用于配置全局策略,这些策略可以影响整个框架的行为。以下是关于 `GlobalConfig` 的具体配置方式及其主要参数的详细介绍。
#### 1. 全局配置对象初始化
可以通过以下代码片段在 Spring Boot 中完成 `GlobalConfig` 的初始化:
```java
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisPlusConfig {
@Bean
public GlobalConfig globalConfig() {
GlobalConfig config = new GlobalConfig();
// 设置数据库类型
GlobalConfig.DbConfig dbConfig = new GlobalConfig.DbConfig();
dbConfig.setDbType(DbType.MYSQL); // 数据库类型为 MySQL
// 开启大写命名转换
dbConfig.setCapitalMode(true);
// 设置表前缀
dbConfig.setTablePrefix("t_");
// 设置逻辑删除字段名
dbConfig.setLogicDeleteField("deleted");
config.setDbConfig(dbConfig);
return config;
}
}
```
以上代码中设置了多个重要的属性,下面逐一解释其含义[^1]。
---
#### 2. 主要参数说明
##### (1) **Database Type (`DbType`)**
通过 `setDbType()` 方法指定当前使用的数据库类型。例如:
```java
dbConfig.setDbType(DbType.MYSQL);
```
此参数会影响 SQL 语句生成的方式以及某些特定功能(如分页插件)的表现形式。
##### (2) **Column Name Case Conversion (`capitalMode`)**
启用列名大小写模式转换的功能,默认关闭。如果开启,则会将数据库中的列名映射为 Java 属性的大写形式。
```java
dbConfig.setCapitalMode(true);
```
这适用于一些特殊场景下的兼容性处理。
##### (3) **Table Prefix Handling (`tablePrefix`)**
设置统一的表前缀,在生成 Mapper 文件或者执行操作时自动去除该前缀。
```java
dbConfig.setTablePrefix("t_");
```
这样可以在项目中保持一致性的命名风格。
##### (4) **Logical Deletion Field Configuration (`logicDeleteField`)**
定义逻辑删除字段名称,并配合实体类上的 `@TableLogic` 注解共同作用于逻辑删除机制。
```java
dbConfig.setLogicDeleteField("deleted");
```
更多细节可参见逻辑删除的具体实现[^4]。
---
#### 3. 扩展功能集成
除了基础配置外,还可以引入其他扩展组件进一步增强功能。比如分页拦截器:
```java
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
```
上述代码实现了基于 MyBatis-Plus 的分页支持能力[^5]。
---
### 总结
通过对 `GlobalConfig` 进行合理配置,开发者能够轻松调整 MyBatis-Plus 的运行行为以满足实际业务需求。无论是简单的 CRUD 支持还是复杂的逻辑删除与分页管理,都可以借助这一工具快速搭建高效的数据访问层解决方案[^1].
---
阅读全文
相关推荐


















