登录 
欢迎来到陈冬冬(雪地里走)的学习天地 | 经验分享整理平台 | 陈冬冬
 服务器本次启动于:7个月前 

IntelliJ IDEA的 Groovy 反向生成代码

2020-07-25 21:20:30 阅读:()

前面有两篇文章介绍了使用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 的选项(该选项是根据具体的代码文件夹来的),我们的自动调用就是基于此菜单而创建的,详见下图。

image.png

建表语句

image.png

至于为什么采用这种约定方式前文中有解释。

实体对象

image.png

具体实现细节前文有具体描述与说明,使用mybatis plus后对于单表的cao作变的非常简单,更多的细节代码生成就不一定会需要了,像一些复杂的多表查询关联保存等自行编写Service方法实现即可,参考生成Service如下:

image.png

相关下载

调用生成文件过程.gif

生成文件下载.zip

Gitee源码下载:https://gitee.com/88911006/chendd-examples/tree/master/chendd-blog-Table2JavaBean/src/main/resource

你可能感兴趣的:
      关键字:service(4)代码生成(4)intellij(3)idea(3)groovy(3)
      互动()
      评论()
      比起点赞,站长更喜欢登录后的评论
      • 0
      • 0
      • 0
      • 0
      • 0