今天为小伙伴们介绍一款 IntelliJ IDEA 上的免费开源插件,叫做 EasyCode,可以方便的根据数据库生成相应的代码。
EasyCode 是基于 IntelliJ IDEA 开发的代码生成插件,支持自定义任意模板(Java,html,js,xml);只要是与数据库相关的代码都可以通过自定义模板来生成;支持数据库类型与 java 类型映射关系配置;支持同时生成生成多张表的代码,张表有独立的配置信息,完全的个性化定义,规则由你设置。
我自己也稍微体验了一把,还是蛮方便的。
1.安装
首先点击 File->Settings->Plugins,然后搜索 EasyCode,如下:
安装成功之后,重启 IDEA。
2.创建项目
接下来我给大家演示一个如何在 Spring Boot 中使用 EasyCode。首先我们在 IDEA 中创建一个 SpringBoot 项目,创建过程我就不多说了,如果大家不会,可以在我公众号后台回复 springboot,有详细的教程。
3.添加数据源
由于这个项目是基于 IDEA 上的 Database Tools 开发的,因此我们首先要通过 IDEA 上的 Database 连接数据源。
接下来配置你的数据库连接信息,如果没有检测到合适的数据库 Driver,点击左下角自动下载:
连接成功后,点击 OK。默认情况下没有展示连接下的数据库,需要我们手动勾选,例如我这里要连接 vhr 数据库,如下:
4.生成代码
做完前面三步,准备工作就算 OK 了,接下来就是生成代码了。例如我想给 vhr 中所有的代码生成实体类、dao 层以及 service 层,方式如下:
首先选中所有的表,然后右键单击,选择 Easy Code->Generate Code,如下:
第一次添加的时候,如果有数据库类型没有对应的 Java 类型,就会有提示,这个根据它的引导去添加映射关系即可,例如我在添加的时候,出了一个这个提示:
点击 Yes,然后去添加自己的类型映射:
添加成功之后,再去做代码生成,这下就可以了:
这里,如果项目是多模块项目,可以先选择代码生成的 Module,然后设置代码生成的 package,最后从下面勾选要生成的代码模版,点击 OK 即可。
在代码生成的过程中,如果没检测到 package 下面有 service、dao 以及 entity 等包,工具会提示自动创建,点击 Yes 即可。
最终生成的代码如下:
至此,各层的代码基本都生成了。大部分小伙伴用到这一步可能就 OK 了。
当然如果你觉得 EasyCode 自动生成的模版不够用,或者不好用,我们也可以自定义模版。
5.自定义模版
例如,我想在生成的 dao 层代码中,额外添加一个不需要任何条件,获取所有数据的方法(默认的生成模版中没有这个方法)。
点击 File->Settings->Easy Code->Template Setting:
可以参考工具自己的定义方式,我们现在先在dao.java 中,添加如下方法:
/** * 查询所有数据 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象 * @return 对象列表 */ List<$!{tableInfo.name}> getAll();
然后再给它添加一个配套的 mapper.xml 中的方法,打开 mapper.xml ,添加如下方法:
<select id="getAll" resultMap="$!{tableInfo.name}Map"> select #allSqlColumn() from $!{tableInfo.obj.parent.name}.$!tableInfo.obj.name </select>
配置完成后,点击 OK。
接下来再去重新生成代码,就可以看到生成的方法中多了一个方法了,其他代码模版的定义与这个类似,就不再赘述了。
本文主地讲解了Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法,更多关于IntelliJ IDEA插件使用技巧请查看下面的相关链接
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。