插件介绍
首先介绍下 GenerateAllSetter,用过的小伙伴直接跳过此部分!
如图所示,您有一个与数据库表对应的 Java Bean,当你进行一个 insert/update 操作前,你得想为这个Java Bean赋值,这个操作于我而言已经进行不知道多少次了,再没遇到这个插件之前,我是一个一个的 set,不光效率慢,还容易漏字段(或者不漏字段但更慢);一旦字段具多(有时候公司的代码就是这么让人无奈),那么检查是否漏掉字段简直就是噩梦,此时用插件自动生成所有的 set ,就很好的解决了问题!
好了,原插件介绍完毕,接着说说我的改进!
在其基础上,我添加了一下细节:
-
get 方法的生成 (想象一下 Controller 层的大 DTO 对象传到 Service 层后,一个个 get 是多么的心累;当然 get 并非刚需,但当你需要的时候,绝对会觉得这非常好用!)
-
在翻阅原插件 Issue 时得到启示,添加了 postfix 后缀调用(可能大家不太熟悉这个东西,看图就完事了)
-
添加了 for 语法和方法参数的支持(支持在这些地方 alt + enter 弹出生成代码)
-
添加了泛型的支持(对于泛型的变量,生成 get 时接收变量的类型能正确显示,生成 set 时默认值能正确编译)
前面说了写改进,其实我也去除了一些功能;嗯~~ 其实我基本是从零开始参考原插件又写了一套代码,所以原插件有些功能并未一起携带过来,就是 generate converter,我估计大部分用这个插件的人都和我一样,并不知道这个功能。。。 看原插件的图把!
简单来说就是两个对象的拷贝咯~~
OK,插件就介绍到这里了!也是因为自己用着总觉得缺点啥,所以就完善了一下。如果想支持原插件作者又获得生成 get 的能力,那就等原作者大佬处理我的 Pull 了,等不及也可以用 这个pull 中我留下的打包文件,那个是完全基于原插件代码新增代码然后打包的,但没有我单独写的这个增强版强大!链接给上
https://github.com/gejun123456/intellij-generateAllSetMethod/pull/66
插件下载
这个插件完全是基于GenerateAllSetter 这个插件的源码二次开发而成,所以尽管我会上传插件到官方仓库,也不打算这么做。
额,尴尬了,csdn 不支持上传文件蛤,没事,那我放个GitHub的链接吧,是我特意给原插件某个 issue 打包的。
issue 链接:https://github.com/gejun123456/intellij-generateAllSetMethod/issues/62