1 Star 0 Fork 610

龙之天空 / EasyCode

forked from makejava / EasyCode 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

EasyCode

EasyCode能做什么?

EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成HTML、JS、PHP等代码。理论上来说只要是与数据有关的代码都是可以生成的。

使用环境

IntelliJ IDEA Ultimate版(172+)

支持的数据库类型

因为是基于Database Tool开发,所有Database Tool支持的数据库都是支持的。

包括如下数据库:

  1. MySQL
  2. SQL Server
  3. Oracle
  4. PostgreSQL
  5. Sqlite
  6. Sybase
  7. Derby
  8. DB2
  9. HSQLDB
  10. H2

当然支持的数据库类型也会随着Database Tool插件的更新同步更新。

功能说明:

  • 支持多表同时操作
  • 支持同时生成多个模板
  • 支持自定义模板
  • 支持自定义类型映射(支持正则)
  • 支持自定义扩展属性
  • 支持对表属性进行手动配置
  • 所有配置项目支持分组模式,在不同项目(或选择不同数据库时),只需要切换对应的分组,所有配置统一变化。

安装方法

  • 该插件正在添加到官网插件仓库中,现在只能手动安装,添加完毕后直接在搜索框搜索安装。
  • 手动安装方法如下:
  1. 点击这里 ,下载最新的发行版本。
  2. 然后进入到File->Settings->Plugins,点击Install plugin from disk... 输入图片说明
  3. 找到你下载好的安装包即可安装
  4. 安装完后重启即可

使用方法

  1. 简单的生成代码

首先在IDEA右边找到数据库工具,点击加号添加好对应的数据源

输入图片说明

接着在要生成表上面右键,就可以看到EasyCode菜单,以及子菜单(Generate Code,Config Table)生成代码与配置表。 可以按住Ctrl键同时选择多张表进行操作。多选的情况下配置表只作用与鼠标右键的那张表。

输入图片说明

接着会弹出下面这个框,可选择包名,多module的情况下可选择module,以及选择路径。然后选择好对应的模板就可以开始生成代码了。

统一配置解释:勾选代表所有选中表统一用这个配置去生成代码,否则只有没配置过表的使用这个配置生成,已配置的使用自己的配置。

(注意:没配置过的表在生成代码后都会复用该配置,成为已配置的表)

点击ok生成代码是可能出现位配置类型弹窗,未配置的类型可在设置中配置(后面会介绍),默认会使用java.lang.Object类型代替未配置类型

输入图片说明

类型配置说明

在Other Seeting中可以看到如下配置信息,上面部分是分组信息,可以复制分组,删除分组。

下面的表格是类型映射信息:左边是数据库类型(支持正则),右边是对应的java类型(必须为全称)。可以新增删除

输入图片说明

模板配置说明

采用velocit语法编写

输入图片说明

说明文档:

属性
$packageName 选择的包名
$author 设置中的作者
$encode 设置的编码
$modulePath 选中的module路径
$projectPath 项目路径
对象
$tableInfo 表对象
    obj 表原始对象
    name 表名(转换后的首字母大写)
    comment 表注释
    fullColumn 所有列
    pkColumn 主键列
    otherColumn 其他列
    savePackageName 保存的包名
    savePath 保存路径
    saveModelName 保存的model名称
columnInfo 列对象
    obj 列原始对象
    name 列名(首字母小写)
    comment 列注释
    type 列类型(类型全名)
    ext 附加字段(Map类型)
$tableInfoList 所有选中的表
$importList 所有需要导入的包集合
回调
&callback
    setFileName(String) 设置文件储存名字
    setSavePath(String) 设置文件储存路径,默认使用选中路径
工具
$tool
    firstUpperCase(String) 首字母大写方法
    firstLowerCase(String) 首字母小写方法
    getClsNameByFullName(String) 通过包全名获取类名
    getJavaName(String) 将下划线分割字符串转驼峰命名(属性名)
    getClassName(String) 将下划线分割字符串转驼峰命名(类名)
    append(... Object) 多个数据进行拼接
$time
    currTime(String) 获取当前时间,指定时间格式(默认:yyyy-MM-dd HH:mm:ss)

高级货在这里

在这里添加自定义属性,这些属性都是可以动态配置的,而且还可以在模板中获取到这个属性。

这里的关系都是一一对应的,例如:如果配置了disabled属性就可以在columnInfo.ext中拿到你设置的值(如:columnInfo.ext.disabled)

输入图片说明

输入图片说明

输入图片说明

配置信息储存在哪里?

使用版本控制的开发人员可加这些信息不要添加至忽略(以便共享配置信息)

软件处于1.0版难免会出现问题,手动修改这里可能可以解决一些问题,请谅解。

输入图片说明

:sunglasses: 更多玩法就需要自己摸索了,By makejava。

The MIT License (MIT) Copyright (c) 2018 makejava Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

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

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/yucaillong/EasyCode.git
git@gitee.com:yucaillong/EasyCode.git
yucaillong
EasyCode
EasyCode
master

搜索帮助

14c37bed 8189591 565d56ea 8189591