懒人必备!GenCodeByDDL 插件让 Java 代码生成轻松搞定
前言
大家好,我是香香。 前几天不是和聪哥一起搞了一个项目嘛,SQL DOG。将鱼皮的 SQL Father 和 SQL Mother 合并在一起了,并且新增了很多功能,比如通过 SQL 慢镜分析给出优化结果、新增 UML 类图展示等等功能。
当然核心功能还就是 生成代码 和 练习 SQL。
但是我感觉,虽说可以生成(后端)代码,但是还是得自己一个一个去手动粘贴复制,稍微有一点点麻烦呀~
我就想着有没有简单一点的方法呢?可以更简单的生成代码,甚至说直接一键生成、批量生成!
说干就干
提到一键生成,好像,MyBatisX 插件就有这个功能啊。
相信用过的小伙伴肯定也都知道,点点鼠标就可以生成 model、service 等代码。但是我感觉它生成的还是太少了呀。那咋办呢?
索性直接自己搞一个!
于是乎直接淦了整整一天半!GenCodeByDDL 横空出世!正如其名,根据 DDL 语句来生成代码。
一般我们做项目的时候,编码之前要做的肯定就是设计数据库表结构了,也就是 DDL 语句,是这样的(可以去 SQLDog 或者 SQLFather 去生成)。
有了数据库表之后,接着就是开发功能了。但是很多场景下要做的就是对单表的增删改查,比如 User 用户表的登录注册、查询用户、删除用户等等操作,其实换一张表也是一样的。
那这样的话,这一类代码就相当重复了呀,反复的去写也没有什么意义。一般情况下都有一个初始化模板,星球里面也有,这一类重复的代码是已经提前写好了的。
确实!方便了不少,但是还是得你自己手动去改(手动 Ctrl + Shift + R),当然现在星球的模板中也具备生成这些代码的能力。
插件用法
1. 下载插件( www.xiangworld.cn )
复制到浏览器打开,如果打不开的话,可能是被挡了,请站在墙内。
2. 安装插件
因为没有上传也不了解上传,所以只能手动安装。点击 “从磁盘安装插件” 之后导入即可。
3. 插件使用
插件安装完成之后,在刚刚所说的初始化库表 .sql 文件中右击鼠标(或者在左侧文件处右击鼠标)。
在弹出的对话框中填写自己的包名以及勾选想要生成的代码类型,点击 “确定”。
这样代码就生成在了 generator 目录下。
之后进行拖拽重构即可。
支持生成的类型
- Controller / Service(Impl) / Mapper
- Entity / DTO / VO
- CorsConfig / Mapper.xml / Pom.xml(代码所需依赖)/ Knife4jConfig
目前类型虽然不多,但是感觉已经足以帮助我们省去非常多的时间了。
类型丰富之后甚至可以一键生成一个项目出来(bushi)。
项目思路
- 获取 sql 语句;
- 使用正则表达式进行分离;
- 使用 Alibaba 的 Druid 或其他 SQL 解析器进行解析封装;
- 通过 FTL 模板进行代码生成;
如果有更好更简单更高效的方法可以提出来。
最后
虽然是可以实现代码生成,看起来和 MyBatisX 插件的功能差不太多。但是肯定肯定还是不能和人家相媲美,还是很简陋的,有人使用或者遇到 Bug 可以提出来,谢谢!
目前也还是有些不完美的,后面还会继续迭代在官网,有感兴趣的小伙伴可以持续关注!
若使用还请保证 SQL 语句正确。
GitHub:我是 GitHub
