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> ...
随机推荐
- springboot搭建的web数据提交乱码
修改:application.yml或者application.properties文件 将 url: jdbc:mysql://127.0.0.1:3306/shiro 修改为: url: jdbc ...
- javascript入门教程02
JavaScript中的运算符 (1)算术运算符 + :相加 var a=123,b=45; document.write(a+b); - :相减 document.write(a-b); *:相乘 ...
- elk安装2.0版本,自己总结,比较细致 es单机的安装
用root用户会报错,版本6之前还是可以用root用户启动的,针对es的保护,数据的一些问题,6之后就不允许了. 启动成功 下面验证一下 可以直接用浏览器访问,接受http访问 配置,因为没有暴露端 ...
- nginx的addition模块在响应的前后报文添加内容与变量的运行原理
nginx默认未编译此模块:让nginx编译启用此模块 ./configure --prefix=/data/web --sbin-path=/usr/bin --user=nginx --group ...
- Nginx解决服务器宕机问题
1.Nginx解决服务器宕机问题,Nginx配置服务器宕机策略,如果服务器宕机,会找下一台机器进行访问 配置nginx.cfg配置文件,在映射拦截地址中加入代理地址响应方案 location / { ...
- 【PAT甲级】1021 Deepest Root (25 分)(暴力,DFS)
题意: 输入一个正整数N(N<=10000),然后输入N-1条边,求使得这棵树深度最大的根节点,递增序输出.如果不是一棵树,输出这张图有几个部分. trick: 时间比较充裕数据可能也不是很极限 ...
- 小KING教你做android项目(二)---实现登陆页面并跳转和简单的注册页面
原文:http://blog.csdn.net/jkingcl/article/details/10989773 今天我们主要来介绍登陆页面的实现,主要讲解的就是涉及到的布局,以及简单的跳 ...
- QT5静态编译工程(arm交叉编译)
1.首先,QT编译环境默认是动态库,要编译静态程序是不可能的,所以要下载QT源码,重新编译QT编译环境 2.下载QT源码(5.13版本):http://download.qt.io/developme ...
- 32 commons-lang包学习
maven依赖 <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lan ...
- ubuntu 解压命令全览
.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)-------------------------- ...