Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法


Posted in Python onMarch 20, 2020

今天为小伙伴们介绍一款 IntelliJ IDEA 上的免费开源插件,叫做 EasyCode,可以方便的根据数据库生成相应的代码。

EasyCode 是基于 IntelliJ IDEA 开发的代码生成插件,支持自定义任意模板(Java,html,js,xml);只要是与数据库相关的代码都可以通过自定义模板来生成;支持数据库类型与 java 类型映射关系配置;支持同时生成生成多张表的代码,张表有独立的配置信息,完全的个性化定义,规则由你设置。

我自己也稍微体验了一把,还是蛮方便的。

1.安装

首先点击 File->Settings->Plugins,然后搜索 EasyCode,如下:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

安装成功之后,重启 IDEA。

2.创建项目

接下来我给大家演示一个如何在 Spring Boot 中使用 EasyCode。首先我们在 IDEA 中创建一个 SpringBoot 项目,创建过程我就不多说了,如果大家不会,可以在我公众号后台回复 springboot,有详细的教程。

3.添加数据源

由于这个项目是基于 IDEA 上的 Database Tools 开发的,因此我们首先要通过 IDEA 上的 Database 连接数据源。

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

接下来配置你的数据库连接信息,如果没有检测到合适的数据库 Driver,点击左下角自动下载:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

连接成功后,点击 OK。默认情况下没有展示连接下的数据库,需要我们手动勾选,例如我这里要连接 vhr 数据库,如下:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

4.生成代码

做完前面三步,准备工作就算 OK 了,接下来就是生成代码了。例如我想给 vhr 中所有的代码生成实体类、dao 层以及 service 层,方式如下:

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

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

第一次添加的时候,如果有数据库类型没有对应的 Java 类型,就会有提示,这个根据它的引导去添加映射关系即可,例如我在添加的时候,出了一个这个提示:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

点击 Yes,然后去添加自己的类型映射:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

添加成功之后,再去做代码生成,这下就可以了:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

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

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

最终生成的代码如下:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

至此,各层的代码基本都生成了。大部分小伙伴用到这一步可能就 OK 了。

当然如果你觉得 EasyCode 自动生成的模版不够用,或者不好用,我们也可以自定义模版。

5.自定义模版

例如,我想在生成的 dao 层代码中,额外添加一个不需要任何条件,获取所有数据的方法(默认的生成模版中没有这个方法)。

点击 File->Settings->Easy Code->Template Setting:

Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法

可以参考工具自己的定义方式,我们现在先在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插件使用技巧请查看下面的相关链接

Python 相关文章推荐
python基础教程之简单入门说明(变量和控制语言使用方法)
Mar 25 Python
python urllib爬取百度云连接的实例代码
Jun 19 Python
selenium + python 获取table数据的示例讲解
Oct 13 Python
django Serializer序列化使用方法详解
Oct 16 Python
PyCharm 设置SciView工具窗口的方法
Jan 15 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
Jun 19 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
python中的 zip函数详解及用法举例
Feb 16 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
Django+Celery实现定时任务的示例
Jun 23 Python
python+opencv实现移动侦测(帧差法)
Mar 20 #Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 #Python
Python 自由定制表格的实现示例
Mar 20 #Python
python实现opencv+scoket网络实时图传
Mar 20 #Python
python实现同一局域网下传输图片
Mar 20 #Python
python实现udp传输图片功能
Mar 20 #Python
python实现UDP协议下的文件传输
Mar 20 #Python
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
php auth_http类库进行身份效验
2009/03/19 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
php递归函数中使用return的注意事项
2014/01/17 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
Vue中使用sass实现换肤功能
2018/09/07 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
python字典多条件排序方法实例
2014/06/30 Python
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
Python虚拟环境venv用法详解
2020/05/25 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
石油大学毕业生自荐信
2014/01/28 职场文书
个人委托书怎么写
2014/09/17 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书