通过解析 DDL 建表语句自动生成 MyBatis 实体类、Mapper 接口和 XML 映射文件的 IntelliJ IDEA 插件。
- 最低支持: IntelliJ IDEA 2023.2+ (build 232+)
- Java 版本: Java 17+
在项目根目录执行:
./gradlew runIde或者在 Windows 上:
gradlew.bat runIde这会:
- 编译插件代码
- 启动一个新的 IDEA 实例(沙盒环境)
- 插件已安装并可用
./gradlew buildPlugin构建完成后,JAR 文件位于:build/distributions/titans-idea-plugin-1.0-SNAPSHOT.zip
./gradlew verifyPlugin-
打开项目
- 在 IntelliJ IDEA 中打开此项目
-
运行配置
- 打开
Run→Edit Configurations... - 点击
+→ 选择Gradle - 配置如下:
- Name:
Run Plugin - Gradle project: 选择项目
- Tasks:
runIde
- Name:
- 点击
OK
- 打开
-
运行插件
- 点击运行按钮或按
Shift+F10 - 会启动一个新的 IDEA 实例,插件已安装
- 点击运行按钮或按
-
调试插件
- 在代码中设置断点
- 使用
Debug模式运行(点击调试按钮或按Shift+F9) - 在新启动的 IDEA 实例中使用插件功能
- 断点会在调试模式下暂停
-
构建插件
./gradlew buildPlugin
-
安装插件
- 打开 IDEA →
Settings→Plugins - 点击
⚙️→Install Plugin from Disk... - 选择
build/distributions/titans-idea-plugin-1.0-SNAPSHOT.zip - 重启 IDEA
- 打开 IDEA →
- 在新启动的 IDEA 实例中,打开任意项目
- 通过以下方式打开插件:
- 菜单:
Tools→MyBatis 代码生成器 - 快捷键:
Ctrl+Alt+M(Mac:Cmd+Option+M)
- 菜单:
-
输入 DDL
- 在 "DDL 输入" 选项卡中输入 MySQL 建表语句
- 示例:
CREATE TABLE `user` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` VARCHAR(50) NOT NULL COMMENT '用户名', `email` VARCHAR(100) COMMENT '邮箱', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
-
解析 DDL
- 点击 "解析 DDL" 按钮
- 如果解析成功,会显示表信息
-
配置选项
- 切换到 "配置" 选项卡
- 设置包名、目录、作者等信息
-
生成代码
- 点击 "生成代码" 按钮
- 代码将写入到配置的目录中
插件运行时的日志位于:
- 沙盒环境:
build/idea-sandbox/IC-2023.2/log/idea.log - 已安装插件:
Help→Show Log in Explorer/Finder
-
插件未显示在菜单中
- 检查
plugin.xml中的 Action 配置是否正确 - 查看日志文件是否有错误
- 检查
-
DDL 解析失败
- 检查 DDL 语句格式是否正确
- 查看控制台输出的错误信息
-
文件写入失败
- 检查项目目录权限
- 确认目录路径配置正确
-
编译错误
- 确保已安装 Java 17
- 运行
./gradlew clean build清理并重新构建
src/main/java/com/zto/titansideaplugin/
├── action/ # Action 入口
│ └── MyBatisGeneratorAction.java
├── generator/ # 代码生成器
│ └── CodeGenerator.java
├── model/ # 数据模型
│ ├── TableInfo.java
│ ├── FieldInfo.java
│ └── GeneratorConfig.java
├── parser/ # DDL 解析器
│ └── DdlParser.java
├── ui/ # UI 对话框
│ └── GeneratorDialog.java
└── util/ # 工具类
└── FileWriter.java
- JDK 17
- IntelliJ IDEA 2023.2 或更高版本
- Gradle 8.0+
- 插件 JAR:
build/distributions/titans-idea-plugin-1.0-SNAPSHOT.zip - 沙盒环境:
build/idea-sandbox/