IntelliJ IDEA中代码一键生成方法

 更新时间:2020年02月14日 13:45:19   作者:江南一点雨  
EasyCode 是基于 IntelliJ IDEA 开发的代码生成插件,支持自定义任意模板(Java,html,js,xml),这篇文章主要介绍了IntelliJ IDEA中代码一键生成方法,需要的朋友可以参考下

之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr) 使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲的工作量非常大。

今年发出来的新版微人事,我使用了逆向工程自动生成实体类和 dao 层的代码。MyBatis 的逆向工程要么需要添加依赖,要么需要自己去网上下载 jar,用起来还是有点麻烦,所以,今天和小伙伴们介绍一款 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。

接下来再去重新生成代码,就可以看到生成的方法中多了一个方法了,其他代码模版的定义与这个类似,我就不再赘述了。

以上所述是小编给大家介绍的IntelliJ IDEA中代码一键生成,希望对大家有所帮助,也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot中的HATEOAS详情

    SpringBoot中的HATEOAS详情

    这篇文章主要介绍了SpringBoot中的HATEOAS详情,SpringBoot提供了HATEOAS的便捷使用方式,文章围绕主题展开详细介绍内容,需要的小伙伴可以参考一下
    2022-05-05
  • Java实现字符串解析为日期时间的方法示例

    Java实现字符串解析为日期时间的方法示例

    这篇文章主要介绍了Java实现字符串解析为日期时间的方法,结合具体实例形式分析了java日期时间字符串的解析操作相关实现技巧,需要的朋友可以参考下
    2017-04-04
  • SpringBoot实现HTTP服务监听的代码示例

    SpringBoot实现HTTP服务监听的代码示例

    前后端分离项目中,在调用接口调试时候,我们可以通过cpolar内网穿透将本地服务端接口模拟公共网络环境远程调用调试,本次教程我们以Java服务端接口为例,需要的朋友可以参考下
    2023-05-05
  • Java中一些常见的并发集合类的使用

    Java中一些常见的并发集合类的使用

    并发集合是一种特殊的数据结构,它允许多个线程安全地访问和修改,本文主要介绍了Java中一些常见的并发集合类的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • SpringCloud高可用配置中心Config详解

    SpringCloud高可用配置中心Config详解

    Spring Cloud Config 是一个解决分布式系统的配置管理方案,它包含了 server 和 client 两个部分,这篇文章主要介绍了SpringCloud之配置中心Config(高可用),需要的朋友可以参考下
    2022-04-04
  • java使用IO流对数组排序实例讲解

    java使用IO流对数组排序实例讲解

    在本篇文章里小编给大家整理的是一篇关于java使用IO流对数组排序实例讲解内容,有兴趣的朋友们可以学习下。
    2021-02-02
  • java 数据结构单链表的实现

    java 数据结构单链表的实现

    这篇文章主要介绍了java 数据结构单链表的实现的相关资料,需要的朋友可以参考下
    2017-07-07
  • SSM框架下如何实现数据从后台传输到前台

    SSM框架下如何实现数据从后台传输到前台

    这篇文章主要介绍了SSM框架下如何实现数据从后台传输到前台,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 一篇看懂Java中的Unsafe类

    一篇看懂Java中的Unsafe类

    在阅读AtomicInteger的源码时,看到了这个类:sum.msic.Unsafe,之前从没见过。所以花了点时间研究了下,下面这篇文章主要给大家介绍了关于Java中Unsafe类的相关资料,需要的朋友可以参考借鉴,下面来一起学习学习吧
    2018-05-05
  • SpringBoot集成mybatis实例

    SpringBoot集成mybatis实例

    本篇文章主要介绍了SpringBoot集成mybatis实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论