IntelliJ IDEA的 Groovy 反向生成代码
IDEA代码生成admin 发布于:2020-07-25 21:20:30
阅读:loading
前面有两篇文章介绍了使用IntelliJ IDEA 内置的 Database功能反向生成 Model(Entity),今天突然想着把这块再捡起来增强一下,增加除了Model以外的Mapper、Service、Controller部分的代码生成,按照自己所遵循的规范来省去这部分的劳动,节省10分钟吧。
实现这个代码生成还有主要的原因,那就是mybatis plus所提供的代码生成器组件略微复杂,正常需要投入较多的时间去实践,而且对于它实现自动生成代码的契合度如何还有待斟酌,所以就没有深入分析,把前面使用IntelliJ IDEA 中内置的生成POJOs功能又捡起来,丰富了一下。
如果你还没有看过所谓的其它两篇反向生成的文章,建议跳转回去找找看吧,那两篇文章基础一些。本文是在反向生成JavaBean的基础上进行的扩展,即数据库表部分是基础,根据约定生成对应的实体对象,再实体对象基础上进行生成Mapper、Service、Controller,它们的命名都是基于实体名称,而实体名称默认是数据库表名的名称(匈牙利转驼峰,MySQL的表个人习惯直接命名为Java命名规范)。
跳过前面文章的使用方式介绍,直接找到Database下的某个表,找到生成脚本的具体文件 参考下图(Go to Scripts Directory),打开 POJOs.groovy 所在的文件夹,复制该文件重命名为 Generate ALLs.groovy,再右键选中某个表的 Scripted Extensions菜单就会有下图中的 ALLs 的选项(该选项是根据具体的代码文件夹来的),我们的自动调用就是基于此菜单而创建的,详见下图。
至于为什么采用这种约定方式前文中有解释。
具体实现细节前文有具体描述与说明,使用mybatis plus后对于单表的cao作变的非常简单,更多的细节代码生成就不一定会需要了,像一些复杂的多表查询关联保存等自行编写Service方法实现即可,参考生成Service如下:
Gitee源码下载:https://gitee.com/88911006/chendd-examples/tree/master/chendd-blog-Table2JavaBean/src/main/resource
点赞