之前有不少小伙伴问松哥微人事项目(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。

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

好了,小伙伴们不妨试试。

idea package自动生成_懒人必备,IntelliJ IDEA中代码一键生成相关推荐

  1. Easy Code,IntelliJ IDEA中代码一键生成

    Easy Code,IntelliJ IDEA中代码一键生成 1. 安装插件 2. 连接数据库 2.1 添加数据库 2.2 添加数据库信息 3. 生成代码 EasyCode是基于IntelliJ ID ...

  2. 懒人必备,IntelliJ IDEA中代码一键生成

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

  3. css自动转rem,css之px自动转rem—“懒人”必备

    作为一名前端开发,尤其是在做移动端适配时,rem是我们经常用到的单位,它的好处大家可以自行搜索,网上已经有很多了. 但是我们再将设计稿上的px转换成rem时,得手动的去计算,这是一个很耗时.费力的过程 ...

  4. irobot擦地机器人故障_懒人必备神器,电动高频擦地,科沃斯地宝T8 AIVI扫地机器人...

    虽说一屋不扫,何以扫天下,但扫地真的累,本来一天回到家就很累了,扫地拖地就需要半个小时,有时候床底桌底还清理不到,周末还要时不时的来一次全方位的大扫除,本来就难得的休息时间就浪费在了扫地拖地上了.好在 ...

  5. cssrem转换工具_css之px自动转rem—“懒人”必备

    作为一名前端开发,尤其是在做移动端适配时,rem是我们经常用到的单位,它的好处大家可以自行搜索,网上已经有很多了. 但是我们再将设计稿上的px转换成rem时,得手动的去计算,这是一个很耗时.费力的过程 ...

  6. 懒人必备公式快速插入word(latexocr+TyporaMathtype)保姆集教程

    懒人必备公式快速插入word(latexocr+Typora/Mathtype)保姆集教程 演示 (有编程基础的,直接看Latexocr怎么获取就可以,其他你肯定搞得定) 1.点击Snip(或者快捷键 ...

  7. 懒人必备 自动识别语音给视频添加字幕

    在这样一个每个人都可以制作视频的时代. 日常Vlog主,视频博主们在剪辑视频中碰到最苦逼的事莫过于给视频加字幕. 对此很是"深恶痛绝",拍摄30分钟,加字幕两小时,简单枯燥耗时耗力 ...

  8. 懒人必备,自动识别语音给视频添加字幕

    在这样一个每个人都可以制作视频的时代. 日常Vlog主,视频博主们在剪辑视频中碰到最苦逼的事莫过于给视频加字幕. 对此很是"深恶痛绝",拍摄30分钟,加字幕两小时,简单枯燥耗时耗力 ...

  9. 懒人必备,4款匠心打造的国产软件,每一款都堪称珍品

    话不多说,咱们直入主题. Wox Wox,是一款懒人必备的搜索效率工具. Wox 软件界面简洁,体积轻巧,只需一个搜索框,放置在桌面,你便可以,一键搜索电脑上的任意文件.网页.以及软件等等,减少很多不 ...

最新文章

  1. 用户体验设计常犯10个逻辑谬误
  2. 直接通过OptionalAttribute, DefaultParameterValueAttribute定义缺省参数
  3. java底层语言_JAVA语言思维的底层基础
  4. jq遍历子元素_leetcode第196周赛第三题统计全 1 子矩形
  5. 集群、负载均衡、分布式
  6. LOJ2195 旅行
  7. python读取扫描形成的pdf_Python利用PyPDF2库获取PDF文件总页码实例
  8. 95-080-044-源码-启动-jobmanager.sh
  9. Python爬虫入门教程 15-100 石家庄政民互动数据爬取
  10. java靜態常量_Java靜態變量、靜態常量、靜態方法
  11. linux内核不识别分区,ubuntu14.04无法识别树莓派SD卡问题
  12. 利用JavaScript实现在网页上图片上一张下一张的操作
  13. 【升级版】和秋叶一起学Office
  14. CSS样式--前端布局(五)
  15. 东北大学计算机学院教授,东北大学之计算机系
  16. 南大软院21天学霸养成计划—第6天
  17. 安装黑苹果目前最详细教程
  18. java 聊天室 私聊_Java聊天室——实现多人聊天、私聊、群聊
  19. Java 压缩ZIP包后 压缩包内文件名乱码问题解决
  20. 使用Git克隆vue-element-admin项目报错的解决方案

热门文章

  1. 测试无数据_fpc柔性线路板压合辅材的测试方法
  2. memcached 与 mysql_memcached 和 MySQL 的 query ?
  3. 解决点击事件让背景变红,在点击背景变正常,并且可以多选的效果
  4. 程序一直吐司提示获取缓存记录失败以及吐司显示set Alias success
  5. scrollview复用节点_利用ScrollView实现TableView效果(实现复用)
  6. 关于com.android.support:appcompat-v7:26.0.0以上无法下载的问题
  7. UITableView 详解 教程
  8. php 显示代码行数据,几行php代码把数据格式化成树形结构
  9. 发现一个CentOS第三方源epel的仓库地址(repos.fedorapeople.org)
  10. 《数据整理实践指南》一第1章 从头说起:什么是噪音数据