MyBatis-Plus Generator UI 是一款零配置、可视化的代码生成工具,基于 MyBatis-Plus 生态开发。它通过 Web 界面替代传统的代码配置方式,一键生成 Entity、Mapper、Service、Controller 等全套标准化业务代码,同时支持 SQL 解析、动态 SQL 增强等高级特性,极大简化重复代码开发工作。
支持数据库表一键解析,提供完整的代码生成、模板配置、SQL 增强能力,核心功能如下:
可直接浏览和查询数据库内的所有数据表,支持单选、多选任意数据表,快速选中后生成对应的全套模板代码。

内置 6 类标准化代码模板,支持修改模板内容、自定义生成参数、配置数据类型映射;所有配置按项目包名自动保存,一次配置,永久生效。


灵活配置代码生成规则,支持文件覆盖保护、增量生成、指定文件类型生成(仅生成 Entity / 仅生成 Mapper 等),适配不同开发场景。

支持手动输入自定义 SQL 语句,工具自动解析 SQL,一键生成 Mapper 接口方法、DTO 对象、ResultMap 结果映射,无需手动编写复杂映射关系。


智能识别 SQL 语句中的 MyBatis 动态参数,自动转换为 <if>、<where> 等标准动态 SQL 标签,无需手动拼接动态条件。

在项目的 pom.xml 文件中添加依赖,该工具仅用于测试环境生成代码,因此 scope 必须设置为 test,避免打包至生产环境。
<dependency>
<groupId>com.github.davidfantasy</groupId>
<artifactId>mybatis-plus-generator-ui</artifactId>
<version>2.0.5</version>
<scope>test</scope>
</dependency>补充说明
scope: test:限定依赖仅在测试目录生效,生产环境打包时会自动排除;
版本 2.0.5 为稳定通用版本,可根据项目需求升级至最新兼容版本。
在项目的 test 源码目录下创建启动类,完成数据库连接、生成规则、端口、包路径等核心配置,这是启动可视化工具的入口。
package com.lusifer.mybatis.test;
import com.github.davidfantasy.mybatisplus.generatorui.GeneratorConfig;
import com.github.davidfantasy.mybatisplus.generatorui.MybatisPlusToolsApplication;
import com.github.davidfantasy.mybatisplus.generatorui.mbp.NameConverter;
public class GeneratorUIServer {
public static void main(String[] args) {
// 构建代码生成器核心配置
GeneratorConfig config = GeneratorConfig.builder()
// 数据库连接 URL,推荐追加编码、时区等参数
.jdbcUrl("jdbc:mysql://192.168.153.132:3306/demo?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8")
// 数据库登录用户名
.userName("root")
// 数据库登录密码
.password("123456")
// MySQL 8.0 + 版本驱动类
.driverClassName("com.mysql.cj.jdbc.Driver")
// 数据库 schema(仅 MSSQL、PGSQL、ORACLE、DB2 需要配置)
// .schemaName("myBusiness")
// 数据库表前缀,生成实体类时自动去除(如 t_user → User)
// .tablePrefix("t_")
// 自定义命名规则,可重写方法修改类名生成规范
.nameConverter(new NameConverter() {
/**
* 自定义 Service 类命名规则
* @param entityName 处理后的实体类名称
* @return 最终生成的 Service 类名
*/
@Override
public String serviceNameConvert(String entityName) {
return entityName + "Service";
}
/**
* 自定义 Controller 类命名规则
* @param entityName 处理后的实体类名称
* @return 最终生成的 Controller 类名
*/
@Override
public String controllerNameConvert(String entityName) {
return entityName + "Controller";
}
})
// 生成所有 Java 文件的根包名
.basePackage("com.lusifer.mybatis")
// 可视化界面启动端口
.port(8068)
.build();
// 启动代码生成器服务
MybatisPlusToolsApplication.run(config);
}
}直接运行 GeneratorUIServer 启动类,服务启动成功后,在浏览器中访问地址即可进入可视化管理界面: http://localhost: 8068
数据库连接配置 jdbcUrl、userName、password 为必填项,需与项目数据库信息保持一致;
表前缀过滤 tablePrefix 可自动去除表前缀,规范实体类命名;
命名转换器 NameConverter 支持自定义所有生成类的命名规则,适配企业项目规范;
端口配置 port 用于指定 Web 界面端口,避免与应用服务端口冲突。
支持多表批量生成,一次性生成多张数据表的全套业务代码;
界面支持自定义代码模板,可适配团队统一的代码开发规范;
支持数据库类型与 Java 类型的自定义映射,适配特殊字段场景。
启动类必须放在 test 目录下,依赖 scope 必须为 test;
生成代码前建议开启文件覆盖保护,避免误删已有代码;
若端口 8068 被占用,可修改为任意未使用的端口号。
MyBatis-Plus Generator UI 是可视化代码生成工具,无需手写配置,大幅提升开发效率;
依赖仅作用于测试环境,不影响生产环境,使用更安全;
核心配置包含数据库连接、包路径、命名规则、端口,可灵活适配项目需求;
支持代码模板自定义、动态 SQL 增强、SQL 自动解析等高级功能,满足复杂开发场景。