天天看點

EasyCode代碼生成器,超詳細安裝和生成模闆EasyCode代碼生成器,超詳細安裝和生成模闆

EasyCode代碼生成器,超詳細安裝和生成模闆

一、常見的模闆

1.velocity,預設模闆的字尾vm

2.freemarker,預設模闆的字尾ftli

二、模闆技術可以實作的功能

1.動态頁面靜态化

2.用作發送郵件、短信模闆

3.代碼生成器

三、代碼生成器

使用了代碼生成器就是先定義好模闆,然後使用代碼自動修改類名,有代碼參照模闆進行指定内容自動替換。

1.準備模闆(把每個子產品需要改的地方确定好)

  1. 确定所有模闆的生成順序
  2. 确定所有模闆的生成位置

4.确定要生成的基本功能的domain

  1. 根據Domain名稱與模闆結合,在相應位置生成檔案
  2. 解決如果父檔案夾不存在的問題
  3. 解決如果檔案已經存在的問題

8.排錯(有錯先改模闆)

大概思路是這樣的,如果想學習相關操作配置,我會在以後的文章中詳解。今天講的是一個插件EasyCode。

四、EasyCode

​ EasyCode是基于IntelliJ IDEA開發的代碼生成插件,支援自定義任意模闆(Java,html,js,xml)。隻要是與資料庫相關的代碼都可以通過自定義模闆來生成。支援資料庫類型與java類型映射關系配置。支援同時生成生成多張表的代碼。每張表有獨立的配置資訊。完全的個性化定義,規則由你設定。

前提:你要會Velocity!!

EasyCode能做什麼?

EasyCode是基于IntelliJ IDEA Ultimate版開發的一個代碼生成插件,主要通過自定義模闆(基于velocity)來生成各種你想要的代碼。通常用于生成Entity(domain)、Dao、Service、Controller。如果你動手能力強還可以用于生成HTML、JS、PHP等代碼。理論上來說隻要是與資料有關的代碼都是可以生成的。

相關資訊請參考官方文檔!!!

安裝EasyCode

1、線上安裝
File--->Settings...
           
EasyCode代碼生成器,超詳細安裝和生成模闆EasyCode代碼生成器,超詳細安裝和生成模闆
2、離線安裝
EasyCode代碼生成器,超詳細安裝和生成模闆EasyCode代碼生成器,超詳細安裝和生成模闆
3、添加資料源

​ 選擇你用的資料庫

EasyCode代碼生成器,超詳細安裝和生成模闆EasyCode代碼生成器,超詳細安裝和生成模闆

​ 輸入你資料庫的使用者和密碼

EasyCode代碼生成器,超詳細安裝和生成模闆EasyCode代碼生成器,超詳細安裝和生成模闆

​ 選擇要操作的資料庫

EasyCode代碼生成器,超詳細安裝和生成模闆EasyCode代碼生成器,超詳細安裝和生成模闆

五、建立代碼生成器模闆

1、建立模闆之前,要先寫好一個類的各層實作。
//以domain為例
##引入宏定義
$!define
##使用宏定義設定回調(儲存位置與檔案字尾)
/*設定domain生成的位置
src以下的項目名/domain  
.java  生成的檔案類型
*/
#save("/main/java/xxx/domain", ".java")

##使用宏定義設定包字尾
//生成的類最開始引入包的名字package xxx.domain;
#setPackageSuffix("domain")

##使用全局變量實作預設包導入
$!autoImport//自動導包  好像不夠自動,是以自己導公共包
import javax.persistence.*;

##使用宏定義實作類注釋資訊
#tableComment("實體類")//注釋不管
@Entity
@Table(name="$!{tableInfo.obj.name}")
//tableInfo.obj.name獲得實體類 (首字母小寫)
public class $!{tableInfo.name} extends BaseDomain {
    //tableInfo.name 獲得實體類 (首字母大寫)
    #foreach($column in $tableInfo.otherColumn)
        //周遊除主鍵的屬性
    #if(${column.comment})//${column.comment}#end

    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
 //獲得實體類中屬性  column.name
#end

#foreach($column in $tableInfo.otherColumn)
##使用宏定義實作get,set方法
    #getSetMethod($column)
#end

}
           
2、後序

​ 其他層也可以這樣改,具體屬性代表什麼,安裝好easy code後,在Template Sertting下都可以查詢,建議安裝最新版,獲得類名的大寫和小寫友善

2.1 save("/main/java/xxx/domain", “.java”) 設定domain生成的位置,src以下的項目名/domain ,.java 生成的檔案類型

2.2 生成的類最開始引入包的名字packagexxx.domain;setPackageSuffix(“domain”)

2.3 tableInfo.obj.name獲得實體類 (首字母小寫)

2.4 tableInfo.name 獲得實體類 (首字母大寫)

2.5 #foreach($column in $tableInfo.otherColumn) #end

2.6 獲得實體類中屬性 column.name

體類 (首字母小寫)

2.4 tableInfo.name 獲得實體類 (首字母大寫)

2.5 #foreach($column in $tableInfo.otherColumn) #end

2.6 獲得實體類中屬性 column.name

繼續閱讀