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. 安裝完后重啟即可

倉庫直接安裝

由於官網審核較慢,通常會比發行版慢兩天更新

安裝方法:手寫點擊Browse repositories... 搜索 Easy Code

注意:請認准5顆星的Easy Code,兩顆星的是我之前發布的老版本(由於賬號丟失,不再更新維護)

輸入圖片說明

使用方法

  1. 簡單的生成代碼

首先在IDEA右邊找到數據庫工具,點擊加號添加好對應的數據源

接着在要生成表上面右鍵,就可以看到EasyCode菜單,以及子菜單(Generate Code,Config Table)生成代碼與配置表。

輸入圖片說明

  1. 多表代碼生成 可以按住Ctrl鍵同時選擇多張表進行操作。

注意:多選的情況下配置信息取首選表(選中的第一張表)。

輸入圖片說明

統一配置解釋:勾選代表所有選中表統一用這個配置去生成代碼,否則只有沒配置過表的使用這個配置生成,已配置的使用自己的配置。

(注意:沒配置過的表在生成代碼后都會復用該配置,成為已配置的表)

添加類型映射

在Other Seeting中可以看到如下配置信息,上面部分是分組信息,可以復制分組,刪除分組。

下面的表格是類型映射信息:左邊是數據庫類型(支持正則),右邊是對應的java類型(必須為全稱)。可以新增刪除

輸入圖片說明

模板配置說明

采用velocit語法編寫

輸入圖片說明

說明文檔:

屬性
$packageName 選擇的包名(String) $author 設置中的作者(String) $encode 設置的編碼(String) $modulePath 選中的module路徑(String) $projectPath 項目路徑(String) 對象 $tableInfo 表對象(TableInfo)  obj 表原始對象(DasColumn,下面有貼圖)  name 表名(轉換后的首字母大寫)(String)  comment 表注釋(String)  fullColumn 所有列(List<ColumnInfo>)  pkColumn 主鍵列(List<ColumnInfo>)  otherColumn 其他列(List<ColumnInfo>)  savePackageName 保存的包名(String)  savePath 保存路徑(String)  saveModelName 保存的model名稱(String) columnInfo 列對象(ColumnInfo)  obj 列原始對象(DbTable,下面有貼圖)  name 列名(首字母小寫)(String)  comment 列注釋(String)  type 列類型(類型全名)(String)  ext 附加字段(Map類型)(Map<String,Object>) $tableInfoList 所有選中的表(List<TableInfo>) $importList 所有需要導入的包集合(Set<String>) 回調 &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版難免會出現問題,手動修改這里可能可以解決一些問題,請諒解。

輸入圖片說明

 

下面針對自己的項目做定制化配置:

 

全局配置去掉表前綴:

 

 在每個代碼模板加$!init,以entity為例:

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM