mybatisplus自动生成
时间: 2025-01-21 19:20:52 浏览: 29
### 使用 MyBatis Plus 自动生成代码
MyBatis Plus 提供了一个强大的功能——`AutoGenerator`,用于快速生成项目的各个模块代码,包括 Entity、Mapper、Mapper XML、Service 和 Controller 等。这不仅提高了开发效率,还使得代码结构更为统一和规范。
#### 准备工作
要使用 `AutoGenerator` 功能,首先需要引入 MyBatis Plus 的依赖项到项目中。对于 Maven 项目而言,可以在 pom.xml 文件内添加相应的依赖声明[^1]:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
<!-- Velocity模板引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
```
#### 配置 AutoGenerator
接着配置 `AutoGenerator` 类来指定数据库连接信息和其他选项。下面是一份简单的 Java 配置示例[^4]:
```java
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();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java"); // 输出路径
gc.setAuthor("Your Name"); // 开发者名称
gc.setOpen(false); // 是否打开输出目录
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("password");
mpg.setDataSource(dsc);
// 包名策略配置
PackageConfig pc = new PackageConfig();
pc.setParent("cn.tedu");
pc.setModuleName(null);
mpg.setPackageInfo(pc);
// 表策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setInclude("table_name"); // 要映射的数据表名
strategy.setControllerMappingHyphenStyle(true);
strategy.setTablePrefix(pc.getModuleName() + "_");
mpg.setStrategy(strategy);
// 执行生成操作
mpg.execute();
}
}
```
这段代码会根据给定的参数来自动生成所需的代码文件,并将其放置在指定的位置下。注意修改其中的相关属性以匹配实际环境需求。
#### 定制化 Base Class
如果希望进一步优化生成的结果,则可以考虑创建基础控制器(`BaseController`)和服务实体(`BaseEntity`)类作为继承基底,从而减少重复劳动并保持一致性[^5]。
```java
package cn.tedu.controller;
/**
* 基础控制器类
*/
public abstract class BaseController {
}
package cn.tedu.entity;
/**
* 基础实体类
*/
public abstract class BaseEntity {
}
```
以上就是关于如何利用 MyBatis Plus 实现自动化代码生成功能的大致流程说明。当然还有更多高级特性等待探索,比如自定义模版等。
阅读全文
相关推荐


















