在现如今的软件开发过程中,软件开发人员将很多的精力放在重复的编码中。特别是流行的MVC架构模式下,项目各个层次的功能更加独立,这也间接的造成了代码的相似度更高。因此需要寻找一种可以减少软件开发人员重复编码的方式,让软件开发人员可以将更多的精力放在业务逻辑编码以及其他更具有价值的工作上。

今天小编向大家介绍一种一款IntelliJ IDEA上的免费开源插件EasyCode,可以方便的根据数据库生成相应的代码。实际就是利用逆向工程自动生成实体类和dao成的代码。

EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。只要是与数据库相关的代码都可以通过自定义模板来生成。

1)支持数据库类型与java类型映射关系配置。

2)支持同时生成生成多张表的代码。

3)每张表有独立的配置信息。

4)完全的个性化定义,规则由使用者设置。

  第一步:安装

首先点击左上角File->Settings->Plugins选项,之后搜索“EasyCode”插件,如图所示:

点击红色箭头所示按钮,安装成功之后,需重启IDEA。

  第二步:创建项目

在IDEA中创建一个spring boot项目(小编使用以前已有的项目为例),针对项目的创建过程在这里就不多说了,如果大家有什么不懂的话可以在下方公众号(Java精选)留言,小编会及时回复或者在公众号后台回复“spring boot”关键词获取视频资料和项目源码,教程是非常的详细的噢。

spring boot搭建项目,推荐相关资料教程:https://blog.yoodb.com/springboot/tutorial

  第三步:添加数据源

由于项目是基于IDEA上的Database Tools开发的,因此先要通过IDEA上的 Database连接数据源,选择MySQL数据库(小编电脑只有MySQL客户端连接,因此以它为例),如图所示:

接下来配置所选数据库连接信息(host、端口号、密码以及数据库驱动),如果没有检测到合适的数据库 Driver,点击左下角自动下载,如图所示

连接成功后,点击 OK。默认情况下没有展示连接下的数据库,需要我们手动勾选。(有时下载驱动比较费时间,经常连接超时,多试几次即可。)

  第四步:生成代码

做完前面三步后准备工作基本完成,接下来就是生成代码。比如小编把当前dba库中的所有表生成生成实体类、dao 层以及 service 层,参考步骤如下几方面。

1)选中所有的表,然后右键单击,选择 Easy Code->Generate Code,如下:

注意:在第一次添加时,如果有数据库类型没有对应的Java类型,就会有提示信息,大家根据它的引导去添加映射关系即可。

2)添加成功之后,再去做代码生成,如图所示:

如果项目是多模块项目,可以先选择代码生成的 Module,然后设置代码生成的 package,最后从下面勾选要生成的代码模版,点击 OK 即可。

3)在代码生成的过程中,如果没检测到 package 下面有 service、dao 以及 entity 等包,工具会提示自动创建,点击Yes即可。

最终生成的代码,如图所示:

到这里,各个层面的代码已经生成完毕。如果觉得EasyCode自动生成的模版不够用,或者不好用,我们也可以自定义模版。

自定义模版

在生成的各个层代码中,如何额外添加一个不需要任何条件或者其他的方法,而默认的生成模版中没有这些方法呢?

点击 File->Settings->Easy Code->Template Setting,可以看到所有层次的生成代码规则,如图所示:

小编就不在这里一一举例,只用dao层和mapper.xml文件给大家演示一下吧,例如获取所有信息的方法,点击 File->Settings->Easy Code->Template Setting,如图所示:

可以参考工具自己的定义规则,在dao.java类中,添加如下方法,代码如下:

/**
* 查询所有信息
*
* @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象
* @return 对象列表
*/
List<$!{tableInfo.name}> selectInfos();

  

然后再给它添加一个配套的mapper.xml文件中的调用方法,编辑mapper.xml,如图所示:

在上图所示文件中添加方法,代码如下:

<select id="selectInfos" resultMap="$!{tableInfo.name}Map">
select
#allSqlColumn()
from $!{tableInfo.obj.parent.name}.$!tableInfo.obj.name
</select>

  

配置完成后,点击OK。接下来,大家就可以再去重新生成代码,这时在生成的方法中就会发现多了一个刚刚定义的方法,其他代码模版的定义与这个类似,我就不再多说了。好了,感兴趣的朋友们不妨试试。

​IntelliJ IDEA使用技巧—使用EasyCode插件一键生成代码04期的更多相关文章

  1. Eclipse 使用mybatis generator插件自动生成代码

    Eclipse 使用mybatis generator插件自动生成代码 标签: mybatis 2016-12-07 15:10 5247人阅读 评论(0) 收藏 举报 .embody{ paddin ...

  2. Mybatis-Plus一键生成代码

    Mybatis-Plus一键生成代码 一.闲言碎语 闲来无事看了看了MP的官网看到一键生成的代码更新了! 整个Ui风格都变了,遂决定瞅一眼新的代码生成器 官网地址~~ 二.引入依赖 新的代码生成只有在 ...

  3. 【Idea插件】kotlin的orm框架一键生成代码框架

    @font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...

  4. 使用mybatis插件自动生成代码以及问题处理

    1.pom.xml中加入依赖插件 <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis ...

  5. mybatis generator maven插件自动生成代码

    如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hiberna ...

  6. maven插件mybatis-generator生成代码配置

    鸣谢:http://my.oschina.net/u/1763011/blog/324106?fromerr=nJakGh4P (也可参看此博客进行配置) http://www.cnblogs.com ...

  7. Fiddler抓包一键生成代码

    首先我们的需求场景是 用Fiddler抓到某个接口调用后,用代码来模拟调用,一般我们写代码会有3个步骤: 1设置http请求相关的参数:header,method,url,cookie等 2设置pos ...

  8. 关于使用mybatis插件自动生成代码

    1.安装 mybatis 插件: 在 eclipse 中 点击 help-->Install New Software...--> Add --> local  选择插件中eclip ...

  9. maven插件mybatis-generator生成代码

    第一步,在pom中加入插件 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId> ...

随机推荐

  1. 基于Goolgle最新NavigationDrawer实现全屏水平平移

    常见实现App 上面侧边栏菜单之前使用SlidingMenu,现在发现Goolgle原生NavigationDrawer也挺好用.但是细心的开发者们发现NavigationDrawer没有类似Slid ...

  2. 如果你是新晋的leader, 你可能需要了解这些。

    背景 在职业发展的道路上,我们总会面临这样的抉择: 是在技术的路上一条路走到黑,做技术专家 接触管理, 走上管理 年龄大了,搬砖没人要,转型 or 去公司楼下卖炒粉 我曾经有个小小的愿望: 在毕业5年 ...

  3. Cosmetic Sprayer Structure Anatomy

    What shape of spray is sprayed by the cosmetic spray pump head?     Plastic Sprayers Manufacturer   ...

  4. 十一 三种Struts2的数据封装方式,封装页面传递的数据

    Struts2的数据封装:Struts2是一个web层框架,框架是软件的半成品.提供了数据封装的基本功能. 注:Struts2底层(核心过滤器里面的默认栈里面的拦截器,具体见struts-defaul ...

  5. Java基础 -1.2

    Shell是脚本程序的含义 在很多编程语言中为了方便使用者进行代码的开发 都会有shell交互式编程环境 可能是为了进行一些简短的程序验证 但是在java里面就必须编写很多的结果代码才可以实现 为了解 ...

  6. redis 高级学习和应用场景

    redis 高级学习 1.redis 复制 2.redis 集群 3.哨兵机制 4.spring 与哨兵结合 5.数据恢复与转移 6.redis 的阻塞分析 redis 实战 1. 数据缓存(热点数据 ...

  7. node.js的C++入门

    最近的任务是把计划库的API用JavaScript语言调用起来,需要用Node.js的C++扩展,本文简单归总一下node.js addons官方文档https://nodejs.org/api/ad ...

  8. LauUI 的学习

    LayUI学习笔记 layer laydate layui 学习新技术方法:学习一个新技术,要去把它的文档通读一遍,不管你能不能读明白,就算你不明白也大概能知道它是怎么回事了,一回生二回熟,多读几遍, ...

  9. 设计模式课程 设计模式精讲 7-2 建造者模式Coding

    1 代码演练 1.1 建造者模式演练 1.2 静态内部类演练建造者模式(链式调用) 1 代码演练 1.1 建造者模式演练 需求: 根据讲师提供的课程名称,课程ppt,课程视频,课程手记,课程问答 制作 ...

  10. 在centos7中安装MySQL5.7

    1.下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2.安装mysql源 yu ...