IntelliJ IDEA使用技巧—使用EasyCode插件一键生成代码04期
在现如今的软件开发过程中,软件开发人员将很多的精力放在重复的编码中。特别是流行的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期的更多相关文章
- Eclipse 使用mybatis generator插件自动生成代码
Eclipse 使用mybatis generator插件自动生成代码 标签: mybatis 2016-12-07 15:10 5247人阅读 评论(0) 收藏 举报 .embody{ paddin ...
- Mybatis-Plus一键生成代码
Mybatis-Plus一键生成代码 一.闲言碎语 闲来无事看了看了MP的官网看到一键生成的代码更新了! 整个Ui风格都变了,遂决定瞅一眼新的代码生成器 官网地址~~ 二.引入依赖 新的代码生成只有在 ...
- 【Idea插件】kotlin的orm框架一键生成代码框架
@font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...
- 使用mybatis插件自动生成代码以及问题处理
1.pom.xml中加入依赖插件 <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis ...
- mybatis generator maven插件自动生成代码
如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hiberna ...
- maven插件mybatis-generator生成代码配置
鸣谢:http://my.oschina.net/u/1763011/blog/324106?fromerr=nJakGh4P (也可参看此博客进行配置) http://www.cnblogs.com ...
- Fiddler抓包一键生成代码
首先我们的需求场景是 用Fiddler抓到某个接口调用后,用代码来模拟调用,一般我们写代码会有3个步骤: 1设置http请求相关的参数:header,method,url,cookie等 2设置pos ...
- 关于使用mybatis插件自动生成代码
1.安装 mybatis 插件: 在 eclipse 中 点击 help-->Install New Software...--> Add --> local 选择插件中eclip ...
- maven插件mybatis-generator生成代码
第一步,在pom中加入插件 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId> ...
随机推荐
- 7 JavaScript函数调用&this关键字&全局对象&函数调用&闭包
JavaScript函数有4种调用方式,每种方式的不同之处在于this的初始化 一般而言,在JavaScript中,this指向函数执行时的当前对象 如果函数不属于任何对象,那么默认为全局对象,即HT ...
- 十 Spring的AOP的底层实现:JDK动态代理和Cglib动态代理
SpringAOP底层的实现原理: JDK动态代理:只能对实现了接口的类产生代理.(实现接口默认JDK动态代理,底层自动切换) Cglib动态代理(类似Javassist第三方的代理技术):对没有实现 ...
- Servlet+Spring+Mybatis初试
1.导入相关的jar包 druid mybatis mybatis-spring pageHelper mysql驱动包 spring-context-support spring-aspect sp ...
- python3报:ImportError: No module named 'MySQLdb'
问题描述: 项目在转到python3.6时,原先的导入MySQLdb模块都提示无法导入,pip install mysqldb也安装失败. 问题原因: python2和python3在数据库模块支持这 ...
- 最简单、最常用的一些Git命令
---------------------------------------------------------------------------------------------------- ...
- java记录5--线程
------------恢复内容开始------------ 1.什么叫程序:是一个严格有序的指令集合.程序规定了完成某一任务时,计算机所需做的各种操作,已经执行顺序. 特点:资源的独占性 执 ...
- pwn之ret2libc
0×01 利用思路 ret2libc 这种攻击方式主要是针对 动态链接(Dynamic linking) 编译的程序,因为正常情况下是无法在程序中找到像 system() .execve() 这种系统 ...
- 快速幂 & 矩阵快速幂
目录 快速幂 实数快速幂 矩阵快速幂 快速幂 实数快速幂 普通求幂的方法为 O(n) .在一些要求比较严格的题目上很有可能会超时.所以下面来介绍一下快速幂. 快速幂的思想其实是将数分解,即a^b可以分 ...
- 好用的log打印类
package com.huawei.network.ott.weixin.util; import android.util.Log; public final class DebugLog { / ...
- Python 之网络编程之进程总体概要
一: 进程的概念:(Process) 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位. 资源分配:分配的是cpu和内存等物理资源 进程号是进程的唯一标识 同一个程序执行两次之后是两个进程 ...