代碼生成器源碼
Ⅰ 怎麼讓代碼生成器生成的代碼自動對齊
工具/原料
動軟代碼生成器2.78
sql Server 2005/2008
Visual Studio 2008/2010或更高版本
方法/步驟
1
下載
1. 系統要求:Microsoft Windows2000/XP/2003/7 或者更高。機器必須安裝.NET Framework v2.0。
2. 官方下載地址:http://www.maticsoft.com/download.aspx
3. 下載解壓後安裝包有如下文件,如圖:
Codematic2.msi 是動軟.NET代碼生成器的安裝文件。
Builder文件夾是代碼生成插件的源碼,動軟.NET代碼生成器支持可擴展的代碼生成插件,用戶可以定製自己的代碼生成的插件,根據介面開發自己的代碼生成方式,按自己的需求進行代碼生成。
Codematic_Data.MDF和Codematic_Log.LDF是通過動軟新建項目中所帶管理模塊所需要的資料庫文件。後台管理員默認登錄用戶名:admin 密碼:1
2
安裝
1.雙擊Codematic2.msi 進行直接安裝即可。安裝動軟時,如果用戶機器360彈出警告,那僅僅是個簽名認證提示,並非木馬,選擇「繼續安裝」,然後點擊「確定」即可。
2.安裝成功後,在開始-菜單和桌面上會有動軟.NET代碼生成器的圖標。
3
在軟體界面的左側資料庫視圖窗口,選擇【伺服器】,右鍵出現菜單或 點擊第1個按鈕如圖紅框內
4
選擇【添加伺服器】,然後,出現「選擇資料庫類型」窗口
5
根據自己的實際情況,選擇一個機器上有的或自己項目中在用的資料庫類型。並確保你選擇的資料庫是可以正常訪問的。然後,【下一步】。
如果選擇的是SQL Server,則會出現如圖所示界面:
注意事項:
(1) 輸入伺服器IP地址,如果是本機也可以是:(local) 或是. 或者 127.0.0.1。 如果伺服器並非只有一個默認實例,請採用:伺服器\實例名的方式連接。(2)一定要選擇和實際資料庫伺服器版本一致的選項,否則會導致連接資料庫錯誤。注意:請使用SQLServer的企業版或正式版本,不能是SQL EXPRESS版,否則無法連接。(3)身份驗證可以選擇是SQLServer認證,還是Windows認證。
(4)輸入資料庫伺服器用戶名密碼。如果不知道,請聯系你的資料庫管理員。(5)如果資料庫的表比較多,連接速度會比較慢,啟用【高效連接模式】實現快速連接。(6)可以通過【連接/測試】,來連接伺服器並獲取資料庫列表,從而可以實現只選擇連接一個庫進行操作,減少不必要的連接時間,提高工作效率。
6
如果選擇的是Oracle,出現如圖所示界面;
輸入您自己安裝過的Oracle的管理員用戶名和密碼,服務就是安裝的Oracle服務名,一般默認是Oracle所在的機器名,如果不確定,請聯系您的資料庫管理員。
7
如果選擇的是MySQL,出現如圖所示界面
8
如果選擇的是Oledb出現如圖所示界面;
在地址文本框,可以直接輸入Access庫的文件地址,注意:庫文件盡量不要放在桌面,並且確保你的文件地址正確。如果你的Access並沒有設置密碼,下面的密碼可以不用管。
9
如果選擇的是SQLite,出現如圖所示界面
10
在以上步驟確定後,動軟.NET代碼生成器的資料庫視圖就出現了資料庫伺服器的信息。如圖所示
11
在資料庫上右鍵,【瀏覽資料庫】,通過選擇庫和表可以查看錶和欄位的信息。
12
選擇【新建查詢】菜單,即出現SQL的查詢分析器窗口,可以輸入SQL語句進行查詢。
13
在表上,右鍵選擇【瀏覽表數據】,可以查看錶的數據內容。
14
新建整個項目
在看過了基本的資料庫管理功能之外,下面我們就可以開始生成代碼了。
首先,一般第一次生成,我們要生成的是整個項目框架。
選中資料庫,然後右鍵:【新建NET項目】,或者直接點工具欄上的快捷圖標均可。
15
然後,選擇項目類型和版本:如圖所示;
l 簡單三層結構:生成標準的三層架構項目。
l 工廠模式結構:生成基於工廠模式的項目架構,適合一個項目多資料庫類型的情況。
l 簡單三層結構(管理):生成標準的三層架構項目,並且帶有基本的系統管理功能和界面,這些通用的功能主要是節省開發人員的時間,可以在此基礎上直接去開發自身業務模塊。
這里暫以「簡單三層結構(管理)」為例進行說明。
16
點擊【下一步】,選擇要生成的表和配置:如圖所示;
雙擊選擇要生成的表,選到右側列表框。然後點擊【開始生成】即可。
如果需要修改一些配置可以修改你自己的命名空間名字,是否去掉表的前綴。
代碼模板組件類型,一般初學者建議默認即可。
相關組件說明:
BuilderDALParam 數據訪問層(DAL)基於Parameter方式的代碼生成組件(推薦)
BuilderDALProc 數據訪問層(DAL)基於存儲過程方式的代碼生成組件
BuilderDALSQL 數據訪問層(DAL)基於SQL拼接方式的代碼生成組件
BuilderDALTranParam 數據訪問層(DAL)帶有事務的代碼生成組件
DAL由於不同項目要求不同,根據項目需求,選擇其中一種方式即可。
BuilderBLLComm 基於標準的業務邏輯層代碼(BLL)
BuilderModel Model層的代碼生成組件
BuilderWeb 表示層的代碼生成組件
備註:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進行設置。
17
點擊【開始生成】,則開始進行代碼的生成,直到出現「項目工程生成成功」提示,項目生成完畢,如圖所示;
18
打開生成的文件夾,如圖所示;
19
雙擊解決方案文件,打開整個項目如圖所示;
註:「簡單三層結構」目前暫時是VS2005版本,是為了兼容當前還在用2005的朋友。如果你使用的是VS2008,生成項目後,請先打開VS2008,選擇【菜單-文件-打開項目】的方式打開該項目,此時會提示升級項目版本,選擇升級一下項目版本到VS2008或VS2010即可,對代碼沒有任何影響。
20
打開Web項目,選中剛才選擇生成的那幾個表的頁面文件夾,右鍵【包括在項目中】,如圖所示;
21
打開web項目下web.config修改資料庫連接字元串,如圖所示;
注意:新建項目後,請記得先將安裝包里附帶的資料庫文件Codematic_Data.MDF 附加到SQLServer中。
如果需要加密,可以使用安裝包里的加解密工具(官方下載該工具)。
然後,選擇解決方案進行重新生成整個解決方案。整個創建項目過程即全部完成。如圖所示;
如果編譯沒有錯誤, 直接按F5鍵運行即可。整個創建項目過程即全部完成。
運行啟動登錄頁面login.aspx,輸入用戶名:admin,密碼:1
即登錄動軟系統框架的後台,界面如下
批量代碼生成
新建項目功能只適合於第一次,因為不可能每次都新建項目,特別是項目已經在開發中。所以,以後的項目開發中更多的應用的是【批量代碼生成】功能。批量代碼生成特別適合項目後期追加代碼時使用。
選中資料庫或者表,然後單擊右鍵菜單【代碼批量生成】,如圖所示;
出現的窗口和新建項目基本相似,只是多了一個選中架構的選項。如圖所示;
備註:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進行設置。
選則要生成的表,然後點擊【導出】
在生成的文件夾中,我們可以看到:如圖所示
批量生成代碼只生成業務表的代碼,不再有解決方案文件和項目文件,以及其它類庫等。我們可以將生成的這些文件直接拖到現有的解決方案中即可。
單表代碼生成
除了新建項目和批量代碼生成,偶爾我們希望更個性化自定義一些代碼生成的欄位,而不是全部的自動生成,這是我們可以考慮針對單表的代碼生成。
在左側【資料庫視圖】,選中表,右鍵菜單【單表代碼生成器】,如圖所示
然後,出現單表的代碼生成器界面,我們設置自己需要更改的信息。如圖所示;
選項說明:
Ø 項目名稱:主要用在生成DB腳本中。
Ø 二級命名空間:指的是這個類放在某一個二級文件夾下,從而命名空間中應該帶這個文件夾的名字。
Ø 頂級命名空間:就是項目的命名空間名稱。
Ø 類名:可以自己根據表名定義自己需要的名字。
Ø 類型:主要是生成什麼代碼,DB腳本主要生成表的存儲過程和表的創建腳本及數據腳本。
Ø 架構選擇:目前僅支持這3種最常用的架構。
Ø 代碼類型:指生成指定架構中具體某一個項目中的代碼。
Ø 代碼模板組件類型:指生成代碼的方式,因為即使同一個代碼有很多的寫法,組件主要實現的是不同的寫法,但每種寫法實現的功能都是一樣的。主要看項目需要和個人習慣進行選擇。
Ø 方法選擇:指生成最基本的增刪改查的方法代碼,後續版本將支持用戶自定義這些方法。
備註:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進行設置。
然後,點擊【生成代碼】按鈕,即可生成該類的代碼,如圖所示;
生成的代碼,可以直接復制到項目文件中,也可以右鍵保存成CS文件。
通過窗體下面的Tab按鈕可以來回切換設計視圖和代碼。
代碼生成規則設置
打開菜單【工具】-【選項】-【代碼生成設置】
這些配置保存後,在生成代碼的時候將按照這個規則進行生成。
代碼生成的規則設置范圍還在不斷增加中。
另外,不同資料庫類型的數據類型各有不同,這里提供了欄位類型和C#中的類型建立映射關系,生成代碼時將按映射關系來生成代碼欄位屬性的類型。
按照我的理解,可以的,代碼生成器是跨平台,而且是跨語言的(至少是跨文本語言的,UML暫時不好說,)。
代碼生成器作為一種開發工具,一般不直接作為程序的一部分,通常也不直接或間接(如通過AOP)被程序調用,他是通過編程的方式生成所需要的代碼,然後將生成的代碼作為源文件,復制到開發工具的代碼區,然後進行編譯。由於代碼生成器是在編譯之前運行的,因此它可以跨語言,你不但可以用代碼生成器生成高級語言,也可以生成匯編語言,甚至機器碼(0、1代碼)。
但編寫代碼生成器是一個難點,它需要你了解目標編程語言的語法。如果別人已經把你需要的代碼生成器寫好了,你只需按要求使用即可,此時就不需要了解目標編程語言的語法。
JNI是通過Java調用C語言(或其他語言,一般是C),它的實現機制與代碼生成器不同(JNI是通過代碼調用實現功能,而代碼生成器是生成代碼,復制代碼進行使用),由於C是底層語言,一些底層操作單靠Java無法實現,所以才需要JNI。
以上是我對代碼生成器的個人理解,雖然提問時間已過了很久,但依然希望能對你及其他網友有所幫助。
Ⅲ 誰有java代碼生成器源碼,發給我,謝謝
myeclipse裡面不是集成了hibernate嘛!直接用啊!軟換成實體類的生成器?JAVA 目前好像沒有哎。。。反正我是沒發現!
Ⅳ 求一個VB6.0 隨機學號生成器源代碼
Private Sub Command1_Click()
Randomize
Text1.Text = Int(Rnd * 54 + 1) '生成1到54之間的隨機數
e1:
Text2.Text = Int(Rnd * 54 + 1)
If Text1.Text = Text2.Text Then
'如果學號重復的話 跳到e1標號 並給text2重新復制
GoTo e1:
End If
End Sub
Ⅳ 如何用C#編寫一個ASP.NET的代碼自動生成器跪求一個源代碼。
我有。以前編寫的一款。利用的文件流。
Ⅵ 前段時間動軟開源, 我很想要一份動軟代碼生成器的源代碼,不知道誰能提供
動軟好像也是.net寫的吧,只想看看源碼的話,直接用Red Gate .NET Reflector反射就行了
要逆向工程,Red Gate .NET Reflector需要插件,能還原出sln
Ⅶ 動軟代碼生成器可以生成到wps嗎
請參看下面的圖文教程《動軟代碼生成器怎麼用-動軟代碼生成器教程》http://jingyan..com/article/e52e3615a3c98e40c60c5129.html
1. 系統要求:Microsoft Windows2000/XP/2003/7 或者更高。機器必須安裝.NET Framework v2.0。
2. 官方下載地址:http://www.maticsoft.com/download.aspx
3. 下載解壓後安裝包有如下文件,如圖:
Codematic2.msi 是動軟.NET代碼生成器的安裝文件。
Builder文件夾是代碼生成插件的源碼,動軟.NET代碼生成器支持可擴展的代碼生成插件,用戶可以定製自己的代碼生成的插件,根據介面開發自己的代碼生成方式,按自己的需求進行代碼生成。
Codematic_Data.MDF和Codematic_Log.LDF是通過動軟新建項目中所帶管理模塊所需要的資料庫文件。後台管理員默認登錄用戶名:admin 密碼:1
2
安裝
1.雙擊Codematic2.msi 進行直接安裝即可。安裝動軟時,如果用戶機器360彈出警告,那僅僅是個簽名認證提示,並非木馬,選擇「繼續安裝」,然後點擊「確定」即可。
2.安裝成功後,在開始-菜單和桌面上會有動軟.NET代碼生成器的圖標。
3
在軟體界面的左側資料庫視圖窗口,選擇【伺服器】,右鍵出現菜單或 點擊第1個按鈕如圖紅框內
4
選擇【添加伺服器】,然後,出現「選擇資料庫類型」窗口
5
根據自己的實際情況,選擇一個機器上有的或自己項目中在用的資料庫類型。並確保你選擇的資料庫是可以正常訪問的。然後,【下一步】。
如果選擇的是SQL Server,則會出現如圖所示界面:
注意事項:
(1) 輸
入伺服器IP地址,如果是本機也可以是:(local) 或是. 或者
127.0.0.1。 如果伺服器並非只有一個默認實例,請採用:伺服器\實例名的方式連接。(2)一定要選擇和實際資料庫伺服器版本一致的選項,
否則會導致連接資料庫錯誤。注意:請使用SQLServer的企業版或正式版本,不能是SQL
EXPRESS版,否則無法連接。(3)身份驗證可以選擇是SQLServer認證,還是Windows認證。
(4)輸入資料庫伺服器用戶
名密碼。如果不知道,請聯系你的資料庫管理員。(5)如果資料庫的表比較多,連接速度會比較慢,啟用【高效連接模式】實現快速連接。(6)可以通過【連接
/測試】,來連接伺服器並獲取資料庫列表,從而可以實現只選擇連接一個庫進行操作,減少不必要的連接時間,提高工作效率。
6
如果選擇的是Oracle,出現如圖所示界面;
輸入您自己安裝過的Oracle的管理員用戶名和密碼,服務就是安裝的Oracle服務名,一般默認是Oracle所在的機器名,如果不確定,請聯系您的資料庫管理員。
7
如果選擇的是MySQL,出現如圖所示界面
8
如果選擇的是Oledb出現如圖所示界面;
在地址文本框,可以直接輸入Access庫的文件地址,注意:庫文件盡量不要放在桌面,並且確保你的文件地址正確。如果你的Access並沒有設置密碼,下面的密碼可以不用管。
9
如果選擇的是SQLite,出現如圖所示界面
10
在以上步驟確定後,動軟.NET代碼生成器的資料庫視圖就出現了資料庫伺服器的信息。如圖所示
11
在資料庫上右鍵,【瀏覽資料庫】,通過選擇庫和表可以查看錶和欄位的信息。
12
選擇【新建查詢】菜單,即出現SQL的查詢分析器窗口,可以輸入SQL語句進行查詢。
13
在表上,右鍵選擇【瀏覽表數據】,可以查看錶的數據內容。
14
新建整個項目
在看過了基本的資料庫管理功能之外,下面我們就可以開始生成代碼了。
首先,一般第一次生成,我們要生成的是整個項目框架。
選中資料庫,然後右鍵:【新建NET項目】,或者直接點工具欄上的快捷圖標均可。
15
然後,選擇項目類型和版本:如圖所示;
l 簡單三層結構:生成標準的三層架構項目。
l 工廠模式結構:生成基於工廠模式的項目架構,適合一個項目多資料庫類型的情況。
l 簡單三層結構(管理):生成標準的三層架構項目,並且帶有基本的系統管理功能和界面,這些通用的功能主要是節省開發人員的時間,可以在此基礎上直接去開發自身業務模塊。
這里暫以「簡單三層結構(管理)」為例進行說明。
16
點擊【下一步】,選擇要生成的表和配置:如圖所示;
雙擊選擇要生成的表,選到右側列表框。然後點擊【開始生成】即可。
如果需要修改一些配置可以修改你自己的命名空間名字,是否去掉表的前綴。
代碼模板組件類型,一般初學者建議默認即可。
相關組件說明:
BuilderDALParam 數據訪問層(DAL)基於Parameter方式的代碼生成組件(推薦)
BuilderDALProc 數據訪問層(DAL)基於存儲過程方式的代碼生成組件
BuilderDALSQL 數據訪問層(DAL)基於SQL拼接方式的代碼生成組件
BuilderDALTranParam 數據訪問層(DAL)帶有事務的代碼生成組件
DAL由於不同項目要求不同,根據項目需求,選擇其中一種方式即可。
BuilderBLLComm 基於標準的業務邏輯層代碼(BLL)
BuilderModel Model層的代碼生成組件
BuilderWeb 表示層的代碼生成組件
備註:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進行設置。
17
點擊【開始生成】,則開始進行代碼的生成,直到出現「項目工程生成成功」提示,項目生成完畢,如圖所示;
18
打開生成的文件夾,如圖所示;
19
雙擊解決方案文件,打開整個項目如圖所示;
註:
「簡單三層結構」目前暫時是VS2005版本,是為了兼容當前還在用2005的朋友。如果你使用的是VS2008,生成項目後,請先打開VS2008,選
擇【菜單-文件-打開項目】的方式打開該項目,此時會提示升級項目版本,選擇升級一下項目版本到VS2008或VS2010即可,對代碼沒有任何影響。
20
打開Web項目,選中剛才選擇生成的那幾個表的頁面文件夾,右鍵【包括在項目中】,如圖所示;
21
打開web項目下web.config修改資料庫連接字元串,如圖所示;
注意:新建項目後,請記得先將安裝包里附帶的資料庫文件Codematic_Data.MDF 附加到SQLServer中。
如果需要加密,可以使用安裝包里的加解密工具(官方下載該工具)。
然後,選擇解決方案進行重新生成整個解決方案。整個創建項目過程即全部完成。如圖所示;
如果編譯沒有錯誤, 直接按F5鍵運行即可。整個創建項目過程即全部完成。
運行啟動登錄頁面login.aspx,輸入用戶名:admin,密碼:1
即登錄動軟系統框架的後台,界面如下
批量代碼生成
新建項目功能只適合於第一次,因為不可能每次都新建項目,特別是項目已經在開發中。所以,以後的項目開發中更多的應用的是【批量代碼生成】功能。批量代碼生成特別適合項目後期追加代碼時使用。
選中資料庫或者表,然後單擊右鍵菜單【代碼批量生成】,如圖所示;
出現的窗口和新建項目基本相似,只是多了一個選中架構的選項。如圖所示;
備註:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進行設置。
選則要生成的表,然後點擊【導出】
在生成的文件夾中,我們可以看到:如圖所示
批量生成代碼只生成業務表的代碼,不再有解決方案文件和項目文件,以及其它類庫等。我們可以將生成的這些文件直接拖到現有的解決方案中即可。
單表代碼生成
除了新建項目和批量代碼生成,偶爾我們希望更個性化自定義一些代碼生成的欄位,而不是全部的自動生成,這是我們可以考慮針對單表的代碼生成。
在左側【資料庫視圖】,選中表,右鍵菜單【單表代碼生成器】,如圖所示
然後,出現單表的代碼生成器界面,我們設置自己需要更改的信息。如圖所示;
選項說明:
Ø 項目名稱:主要用在生成DB腳本中。
Ø 二級命名空間:指的是這個類放在某一個二級文件夾下,從而命名空間中應該帶這個文件夾的名字。
Ø 頂級命名空間:就是項目的命名空間名稱。
Ø 類名:可以自己根據表名定義自己需要的名字。
Ø 類型:主要是生成什麼代碼,DB腳本主要生成表的存儲過程和表的創建腳本及數據腳本。
Ø 架構選擇:目前僅支持這3種最常用的架構。
Ø 代碼類型:指生成指定架構中具體某一個項目中的代碼。
Ø 代碼模板組件類型:指生成代碼的方式,因為即使同一個代碼有很多的寫法,組件主要實現的是不同的寫法,但每種寫法實現的功能都是一樣的。主要看項目需要和個人習慣進行選擇。
Ø 方法選擇:指生成最基本的增刪改查的方法代碼,後續版本將支持用戶自定義這些方法。
備註:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進行設置。
然後,點擊【生成代碼】按鈕,即可生成該類的代碼,如圖所示;
生成的代碼,可以直接復制到項目文件中,也可以右鍵保存成CS文件。
通過窗體下面的Tab按鈕可以來回切換設計視圖和代碼。
代碼生成規則設置
打開菜單【工具】-【選項】-【代碼生成設置】
這些配置保存後,在生成代碼的時候將按照這個規則進行生成。
代碼生成的規則設置范圍還在不斷增加中。
另外,不同資料庫類型的數據類型各有不同,這里提供了欄位類型和C#中的類型建立映射關系,生成代碼時將按映射關系來生成代碼欄位屬性的類型。
Ⅷ GitHub上面有哪些經典的java框架源碼
Bazel:來自Google的構建工具,可以快速、可靠地構建代碼。官網
Gradle:使用Groovy(非XML)進行增量構建,可以很好地與Maven依賴管理配合工作。官網
Buck:Facebook構建工具。官網
ASM:通用底層位元組碼操作和分析開發庫。官網
Byte Buddy:使用流式API進一步簡化位元組碼生成。官網
Byteman:在運行時通過DSL(規則)操作位元組碼進行測試和故障排除。官網
Javassist:一個簡化位元組碼編輯嘗試。官網
Apache Aurora:Apache Aurora是一個Mesos框架,用於長時間運行服務和定時任務(cron job)。官網
Singularity:Singularity是一個Mesos框架,方便部署和操作。它支持Web Service、後台運行、調度作業和一次性任務。官網
Checkstyle:代碼編寫規范和標准靜態分析工具。官網
Error Prone:將常見編程錯誤作為運行時錯誤報告。官網
FindBugs:通過位元組碼靜態分析查找隱藏bug。官網
jQAssistant:使用基於Neo4J查詢語言進行代碼靜態分析。官網
PMD:對源代碼分析查找不良的編程習慣。官網
SonarQube:通過插件集成其它分析組件,對過去一段時間內的數據進行統計。官網
ANTLR:復雜的全功能自頂向下解析框架。官網
JavaCC:JavaCC是更加專門的輕量級工具,易於上手且支持語法超前預測。官網
config:針對JVM語言的配置庫。官網
owner:減少冗餘配置屬性。官網
Choco:可直接使用的約束滿足問題求解程序,使用了約束規劃技術。官網
JaCoP:為FlatZinc語言提供了一個介面,可以執行MiniZinc模型。官網
OptaPlanner:企業規劃與資源調度優化求解程序。官網
Sat4J:邏輯代數與優化問題最先進的求解程序。官網
Bamboo:Atlassian解決方案,可以很好地集成Atlassian的其他產品。可以選擇開源許可,也可以購買商業版。官網
CircleCI:提供託管服務,可以免費試用。官網
Codeship:提供託管服務,提供有限的免費模式。官網
fabric8:容器集成平台。官網
Go:ThoughtWork開源解決方案。官網
Jenkins:支持基於伺服器的部署服務。官網
TeamCity:JetBrain的持續集成解決方案,有免費版。官網
Travis:通常用作開源項目的託管服務。官網
Buildkite: 持續集成工具,用簡單的腳本就能設置pipeline,而且能快速構建,可以免費試用。官網
uniVocity-parsers:速度最快功能最全的CSV開發庫之一,同時支持TSV與固定寬度記錄的讀寫。官網
Apache Phoenix:HBase針對低延時應用程序的高性能關系資料庫層。官網
Crate:實現了數據同步、分片、縮放、復制的分布式數據存儲。除此之外還可以使用基於SQL的語法跨集群查詢。官網
Flyway:簡單的資料庫遷移工具。官網
H2:小型SQL資料庫,以可以作為內存資料庫使用著稱。官網
HikariCP:高性能JDBC連接工具。官網
JDBI:便捷的JDBC抽象。官網
Protobuf:Google數據交換格式。官網
SBE:簡單二進制編碼,是最快速的消息格式之一。官網
Wire:整潔輕量級協議緩存。官網
Apache DeltaSpike:CDI擴展框架。官網
Dagger2:編譯時注入框架,不需要使用反射。官網
Guice:可以匹敵Dagger的輕量級注入框架。官網
HK2:輕量級動態依賴注入框架。官網
ADT4J:針對代數數據類型的JSR-269代碼生成器。官網
AspectJ:面向切面編程(AOP)的無縫擴展。官網
Auto:源代碼生成器集合。官網
DCEVM:通過修改JVM在運行時支持對已載入的類進行無限次重定義。官網
HotswapAgent:支持無限次重定義運行時類與資源。官網
Immutables:類似Scala的條件類。官網
JHipster:基於Spring Boot與AngularJS應用程序的Yeoman源代碼生成器。官網
JRebel:無需重新部署,可以即時重新載入代碼與配置的商業軟體。官網
Lombok:減少冗餘的代碼生成器。官網
Spring Loaded:類重載代理。官網
vert.x:多語言事件驅動應用框架。官網
Akka:用來編寫分布式容錯並發事件驅動應用程序的工具和運行時。官網
Apache Storm:實時計算系統。官網
Apache ZooKeeper:針對大型分布式系統的協調服務,支持分布式配置、同步和名稱注冊。官網
Hazelcast:高可擴展內存數據網格。官網
Hystrix:提供延遲和容錯。官網
JGroups:提供可靠的消息傳遞和集群創建的工具。官網
Orbit:支持虛擬角色(Actor),在傳統角色的基礎上增加了另外一層抽象。官網
Quasar:為JVM提供輕量級線程和角色。官網
Apache Cassandra:列式資料庫,可用性高且沒有單點故障。官網
Apache HBase:針對大數據的Hadoop資料庫。官網
Druid:實時和歷史OLAP數據存儲,在聚集查詢和近似查詢方面表現不俗。官網
Infinispan:針對緩存的高並發鍵值對數據存儲。官網
Bintray:發布二進制文件版本控制工具。可以於Maven或Gradle一起配合使用。提供開源免費版本和幾種商業收費版本。官網
Central Repository:最大的二進制組件倉庫,面向開源社區提供免費服務。Apache Maven默認使用Central官網Repository,也可以在所有其他構建工具中使用。
IzPack:為跨平台部署建立創作工具(Authoring Tool)。官網
JitPack:打包GitHub倉庫的便捷工具。可根據需要構建Maven、Gradle項目,發布可立即使用的組件。官網
Launch4j:將JAR包裝為輕量級本機Windows可執行程序。官網
Nexus:支持代理和緩存功能的二進制管理工具。官網
packr:將JAR、資源和JVM打包成Windows、Linux和Mac OS X本地發布文件。官網
Apache POI:支持OOXML規范(XLSX、DOCX、PPTX)以及OLE2規范(XLS、DOC、PPT)。官網
documents4j:使用第三方轉換器進行文檔格式轉換,轉成類似MS Word這樣的格式。官網
jOpenDocument:處理OpenDocument格式(由Sun公司提出基於XML的文檔格式)。官網
Cyclops:支持一元(Monad)操作和流操作工具類、comprehension(List語法)、模式匹配、trampoline等特性。官網
Fugue:Guava的函數式編程擴展。官網
Functional Java:實現了多種基礎和高級編程抽象,用來輔助面向組合開發(composition-oriented development)。官網
Javaslang:一個函數式組件庫,提供持久化數據類型和函數式控制結構。官網
jOOλ:旨在填補Java 8 lambda差距的擴展,提供了眾多缺失的類型和一組豐富的順序流API。官網
jMonkeyEngine:現代3D游戲開發引擎。官網
libGDX:全面的跨平台高級框架。官網
LWJGL:對OpenGL/CL/AL等技術進行抽象的健壯框架。官網
JavaFX:Swing的後繼者。官網
Scene Builder:開發JavaFX應用的可視化布局工具。官網
Agrona:高性能應用中常見的數據結構和工具方法。官網
Disruptor:線程間消息傳遞開發庫。官網
fastutil:快速緊湊的特定類型集合(Collection)。官網
GS Collections:受Smalltalk啟發的集合框架。官網
HPPC:基礎類型集合。官網
Javolution:實時和嵌入式系統的開發庫。官網
JCTools:JDK中缺失的並發工具。官網
Koloboke:Hash set和hash map。官網
Trove:基礎類型集合。官網
High-scale-bli:Cliff Click 個人開發的高性能並發庫官網
Eclipse:老牌開源項目,支持多種插件和編程語言。官網
IntelliJ IDEA:支持眾多JVM語言,是安卓開發者好的選擇。商業版主要針對企業客戶。官網
NetBeans:為多種技術提供集成化支持,包括Java SE、Java EE、資料庫訪問、HTML5
Imgscalr:純Java 2D實現,簡單、高效、支持硬體加速的圖像縮放開發庫。官網
Picasso:安卓圖片下載和圖片緩存開發庫。官網
Thumbnailator:Thumbnailator是一個高質量Java縮略圖開發庫。官網
ZXing:支持多種格式的一維、二維條形碼圖片處理開發庫。官網
im4java: 基於ImageMagick或GraphicsMagick命令行的圖片處理開發庫,基本上ImageMagick能夠支持的圖片格式和處理方式都能夠處理。官網
Apache Batik:在Java應用中程序以SVG格式顯示、生成及處理圖像的工具集,包括SVG解析器、SVG生成器、SVG DOM等模塊,可以集成使用也可以單獨使用,還可以擴展自定義的SVG標簽。官網
Genson:強大且易於使用的Java到JSON轉換開發庫。官網
Gson:谷歌官方推出的JSON處理庫,支持在對象與JSON之間雙向序列化,性能良好且可以實時調用。官網
Jackson:與GSON類似,在頻繁使用時性能更佳。官網
LoganSquare:基於Jackson流式API,提供對JSON解析和序列化。比GSON與Jackson組合方式效果更好。官網
Fastjson:一個Java語言編寫的高性能功能完善的JSON庫。官網
Kyro:快速、高效、自動化的Java對象序列化和克隆庫。官網
JDK 9:JDK 9的早期訪問版本。官網
OpenJDK:JDK開源實現。官網
Scala:融合了面向對象和函數式編程思想的靜態類型編程語言。官網
Groovy:類型可選(Optionally typed)的動態語言,支持靜態類型和靜態編譯。目前是一個Apache孵化器項目。官網
Clojure:可看做現代版Lisp的動態類型語言。官網
Ceylon:RedHat開發的面向對象靜態類型編程語言。官網
Kotlin:JetBrain針對JVM、安卓和瀏覽器提供的靜態類型編程語言。官網
Xtend:一種靜態編程語言,能夠將其代碼轉換為簡潔高效的Java代碼,並基於JVM運行。官網
Apache Log4j 2:使用強大的插件和配置架構進行完全重寫。官網
kibana:分析及可視化日誌文件。官網
Logback:強健的日期開發庫,通過Groovy提供很多有趣的選項。官網
logstash:日誌文件管理工具。官網
Metrics:通過JMX或HTTP發布參數,並且支持存儲到資料庫。官網
SLF4J:日誌抽象層,需要與具體的實現配合使用。官網
Apache Flink:快速、可靠的大規模數據處理引擎。官網
Apache Hadoop:在商用硬體集群上用來進行大規模數據存儲的開源軟體框架。官網
Apache Mahout:專注協同過濾、聚類和分類的可擴展演算法。官網
Apache Spark:開源數據分析集群計算框架。官網
DeepDive:從非結構化數據建立結構化信息並集成到已有資料庫的工具。官網
Deeplearning4j:分布式多線程深度學習開發庫。官網
H2O:用作大數據統計的分析引擎。官網
Weka:用作數據挖掘的演算法集合,包括從預處理到可視化的各個層次。官網
QuickML:高效機器學習庫。官網、GitHub
Aeron:高效可擴展的單播、多播消息傳遞工具。官網
Apache ActiveMQ:實現JMS的開源消息代理(broker),可將同步通訊轉為非同步通訊。官網
Apache Camel:通過企業級整合模式(Enterprise Integration Pattern EIP)將不同的消息傳輸API整合在一起。官網
Apache Kafka:高吞吐量分布式消息系統。官網
Hermes:快速、可靠的消息代理(Broker),基於Kafka構建。官網
JBoss HornetQ:清晰、准確、模塊化,可以方便嵌入的消息工具。官網
JeroMQ:ZeroMQ的純Java實現。官網
Smack:跨平台XMPP客戶端函數庫。官網
Openfire:是開源的、基於XMPP、採用Java編程語言開發的實時協作伺服器。 Openfire安裝和使用都非常簡單,並可利用Web界面進行管理。官網GitHub
Spark:是一個開源,跨平台IM客戶端。它的特性支持集組聊天,電話集成和強大安全性能。如果企業內部部署IM使用Openfire+Spark是最佳的組合。官網GitHub
Tigase: 是一個輕量級的可伸縮的 Jabber/XMPP 伺服器。無需其他第三方庫支持,可以處理非常高的復雜和大量的用戶數,可以根據需要進行水平擴展。官網
Design Patterns:實現並解釋了最常見的設計模式。官網
Jimfs:內存文件系統。官網
Lanterna:類似curses的簡單console文本GUI函數庫。官網
LightAdmin:可插入式CRUD UI函數庫,可用來快速應用開發。官網
OpenRefine:用來處理混亂數據的工具,包括清理、轉換、使用Web Service進行擴展並將其關聯到資料庫。官網
RoboVM:Java編寫原生iOS應用。官網
Quartz:強大的任務調度庫.官網
AppDynamics:性能監測商業工具。官網
JavaMelody:性能監測和分析工具。官網
Kamon:Kamon用來監測在JVM上運行的應用程序。官網
New Relic:性能監測商業工具。官網
SPM:支持對JVM應用程序進行分布式事務追蹤的性能監測商業工具。官網
Takipi:產品運行時錯誤監測及調試商業工具。官網
JNA:不使用JNI就可以使用原生開發庫。此外,還為常見系統函數提供了介面。官網
Apache OpenNLP:處理類似分詞等常見任務的工具。官網
CoreNLP:斯坦佛CoreNLP提供了一組基礎工具,可以處理類似標簽、實體名識別和情感分析這樣的任務。官網
LingPipe:一組可以處理各種任務的工具集,支持POS標簽、情感分析等。官網
Mallet:統計學自然語言處理、文檔分類、聚類、主題建模等。官網
Async Http Client:非同步HTTP和WebSocket客戶端函數庫。官網
Grizzly:NIO框架,在Glassfish中作為網路層使用。官網
Netty:構建高性能網路應用程序開發框架。官網
OkHttp:一個Android和Java應用的HTTP+SPDY客戶端。官網
Undertow:基於NIO實現了阻塞和非阻塞API的Web伺服器,在WildFly中作為網路層使用。官網
Ebean:支持快速數據訪問和編碼的ORM框架。官網
EclipseLink:支持許多持久化標准,JPA、JAXB、JCA和SDO。官網
Hibernate:廣泛使用、強健的持久化框架。Hibernate的技術社區非常活躍。官網
MyBatis:帶有存儲過程或者SQL語句的耦合對象(Couples object)。官網
OrmLite:輕量級開發包,免除了其它ORM產品中的復雜性和開銷。官網
Nutz:另一個SSH。官網,Github
JFinal:JAVA WEB + ORM框架。官網,Github
Apache FOP:從XSL-FO創建PDF。官網
Apache PDFBox:用來創建和操作PDF的工具集。官網
DynamicReports:JasperReports的精簡版。官網
flyingsaucer:XML/XHTML和CSS 2.1渲染器。官網
iText:一個易於使用的PDF函數庫,用來編程創建PDF文件。注意,用於商業用途時需要許可證。官網
JasperReports:一個復雜的報表引擎。官網
jHiccup:提供平台中JVM暫停的日誌和記錄。官網
JMH:JVM基準測試工具。官網
JProfiler:商業分析器。官網
LatencyUtils:測量和報告延遲的工具。官網
VisualVM:對運行中的應用程序信息提供了可視化界面。官網
YourKit Java Profiler:商業分析器。官網
Reactive Streams:非同步流處理標准,支持非阻塞式反向壓力(backpressure)。官網
Reactor:構建響應式快速數據(fast-data)應用程序的開發庫。官網
RxJava:通過JVM可觀察序列(observable sequence)構建非同步和基於事件的程序。官網
Dropwizard:偏向於自己使用的Web框架。用來構建Web應用程序,使用了Jetty、Jackson、Jersey和Metrics。官網
Feign:受Retrofit、JAXRS-2.0和WebSocket啟發的HTTP客戶端連接器(binder)。官網
Jersey:JAX-RS參考實現。官網
RESTEasy:經過JAX-RS規范完全認證的可移植實現。官網
RestExpress:一個Java類型安全的REST客戶端。官網
RestX:基於註解處理和編譯時源碼生成的框架。官網
Retrofit:類型安全的REST客戶端。官網
Spark:受到Sinatra啟發的Java REST框架。官網
Swagger:Swagger是一個規范且完整的框架,提供描述、生產、消費和可視化RESTful Web Service。官網
Blade:國人開發的一個輕量級的MVC框架. 它擁有簡潔的代碼,優雅的設計。官網
DataMelt:用於科學計算、數據分析及數據可視化的開發環境。官網
JGraphT:支持數學圖論對象和演算法的圖形庫。官網
JScience:用來進行科學測量和單位的一組類。官網
Apache Solr:一個完全的企業搜索引擎。為高吞吐量通信進行了優化。官網
Elasticsearch:一個分布式、支持多租戶(multitenant)全文本搜索引擎。提供了RESTful Web介面和無schema的JSON文檔。官網
Apache Lucene:是一個開放源代碼的全文檢索引擎工具包,是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎。官網
Apache Shiro:執行認證、授權、加密和會話管理。官網
Bouncy Castle,涵蓋了從基礎的幫助函數到PGP/SMIME操作。官網:多途加密開發庫。支持JCA提供者(JCA provider)
Cryptomator:在雲上進行客戶端跨平台透明加密。官網
Keycloak:為瀏覽器應用和RESTful Web Service集成SSO和IDM。目前還處於beta版本,但是看起來非常有前途。官網
PicketLink:PicketLink是一個針對Java應用進行安全和身份認證管理的大型項目(Umbrella Project)。官網
FlatBuffers:高效利用內存的序列化函數庫,無需解包和解析即可高效訪問序列化數據。官網
Kryo:快速、高效的對象圖形序列化框架。官網
FST:提供兼容JDK的高性能對象圖形序列化。官網
MessagePack:一種高效的二進制序列化格式。官網
Apache Tomcat:針對Servlet和JSP的應用伺服器,健壯性好且適用性強。官網
Apache TomEE:Tomcat加Java EE。官網
Jetty:輕量級、小巧的應用伺服器,通常會嵌入到項目中。官網
WebSphere Liberty:輕量級、模塊化應用伺服器,由IBM開發。官網
WildFly:之前被稱作JBoss,由Red Hat開發。支持很多Java EE功能。官網
Apache Velocity:提供HTML頁面模板、email模板和通用開源代碼生成器模板。官網
FreeMarker:通用模板引擎,不需要任何重量級或自己使用的依賴關系。官網
Handlebars.java:使用Java編寫的模板引擎,邏輯簡單,支持語義擴展(semantic Mustache)。官網
Thymeleaf:旨在替換JSP,支持XML文件的工具。官網
Apache JMeter:功能性測試和性能評測。官網
Arquillian:集成測試和功能行測試平台,集成Java EE容器。官網
AssertJ:支持流式斷言提高測試的可讀性。官網
Awaitility:用來同步非同步操作的DSL。官網
Cucumber:BDD測試框架。官網
Gatling:設計為易於使用、可維護的和高性能負載測試工具。官網
Hamcrest:可用來靈活創建意圖(intent)表達式的匹配器。官網
JMockit:用來模擬靜態、final方法等。官網
JUnit:通用測試框架。官網
Mockito:在自動化單元測試中創建測試對象,為TDD或BDD提供支持。官網
PowerMock: 支持模擬靜態方法、構造函數、final類和方法、私有方法以及移除靜態初始化器的模擬工具。官網
REST Assured:為REST/HTTP服務提供方便測試的Java DSL。官網
Selenide:為Selenium提供精準的周邊API,用來編寫穩定且可讀的UI測試。官網
Selenium:為Web應用程序提供可移植軟體測試框架。官網
Spock:JUnit-compatible framework featuring an expressive Groovy-derived specification language.官網兼容JUnit框架,支持衍生的Groovy范的語言。
TestNG:測試框架。官網
Truth:Google的斷言和命題(proposition)框架。官網
Unitils:模塊化測試函數庫,支持單元測試和集成測試。官網
WireMock:Web Service測試樁(Stub)和模擬函數。官網
Apache Commons:提供各種用途的函數,比如配置、驗證、集合、文件上傳或XML處理等。官網
args4j:命令行參數解析器。官網
CRaSH:為運行進行提供CLI。官網
Gephi:可視化跨平台網路圖形化操作程序。官網
Guava:集合、緩存、支持基本類型、並發函數庫、通用註解、字元串處理、I/O等。官網
JADE:構建、調試多租戶系統的框架和環境。官網
javatuples:正如名字表示的那樣,提供tuple支持。盡管目前tuple的概念還有留有爭議。官網
JCommander:命令行參數解析器。官網
Protégé:提供存在論(ontology)編輯器以及構建知識系統的框架。官網
Apache Nutch:可用於生產環境的高度可擴展、可伸縮的網路爬蟲。官網
Crawler4j:簡單的輕量級網路爬蟲。官網
JSoup:刮取、解析、操作和清理HTML。官網
Apache Tapestry:基於組件的框架,使用Java創建動態、強健的、高度可擴展的Web應用程序。官網
Apache Wicket:基於組件的Web應用框架,與Tapestry類似帶有狀態顯示GUI。官網
Google Web Toolkit:一組Web開發工具集,包含在客戶端將Java代碼轉為JavaScript的編譯器、XML解析器、RCP官網API、JUnit集成、國際化支持和GUI控制項。
Grails:Groovy框架,旨在提供一個高效開發環境,使用約定而非配置、沒有XML並支持混入(mixin)。官網
Ninja:Java全棧Web開發框架。非常穩固、快速和高效。官網
Pippo:小型、高度模塊化的類Sinatra框架。官網
Play:使用約定而非配置,支持代碼熱載入並在瀏覽器中顯示錯誤。官網
PrimeFaces:JSF框架,提供免費和帶支持的商業版本。包括若干前端組件。官網
Ratpack:一組Java開發函數庫,用於構建快速、高效、可擴展且測試完備的HTTP應用程序。官網
Spring Boot:微框架,簡化了Spring新程序的開發過程。官網
Spring:旨在簡化Java EE的開發過程,提供依賴注入相關組件並支持面向切面編程。官網
Vaadin:基於GWT構建的事件驅動框架。使用服務端架構,客戶端使用Ajax。官網
Blade:國人開發的一個輕量級的MVC框架. 它擁有簡潔的代碼,優雅的設計。官網
jBPM:非常靈活的業務流程管理框架,致力於構建開發與業務分析人員之間的橋梁。官網
Activity:輕量級工作流和業務流程管理框架。官網github
位元組碼操作
編程方式操作位元組碼的開發庫。
集群管理
在集群內動態管理應用程序的框架。
代碼分析
測量代碼指標和質量工具。
編譯器生成工具
用來創建解析器、解釋器或編譯器的框架。
外部配置工具
支持外部配置的開發庫。
約束滿足問題求解程序
幫助解決約束滿足問題的開發庫。
持續集成
CSV解析
簡化CSV數據讀寫的框架與開發庫
資料庫
簡化資料庫交互的相關工具。
幫實現依賴翻轉範式的開發庫。官網
開發流程增強工具
從最基本的層面增強開發流程。
分布式應用
用來編寫分布式容錯應用的開發庫和框架。
分布式資料庫
對應用程序而言,在分布式系統中的資料庫看起來就像是只有一個數據源。
發布
以本機格式發布應用程序的工具。
文檔處理工具
處理Office文檔的開發庫。
函數式編程
函數式編程支持庫。
游戲開發
游戲開發框架。
GUI
現代圖形化用戶界面開發庫。
高性能計算
涵蓋了從集合到特定開發庫的高性能計算相關工具。
IDE
簡化開發的集成開發環境。
JSON
簡化JSON處理的開發庫。
JVM與JDK
目前的JVM和JDK實現。
基於JVM的語言
除Java外,可以用來編寫JVM應用程序的編程語言。
日誌
記錄應用程序行為日誌的開發庫。
機器學習
提供具體統計演算法的工具。其演算法可從數據中學習。
消息傳遞
在客戶端之間進行消息傳遞,確保協議獨立性的工具。
雜項
未分類其它資源。
應用監控工具
監控生產環境中應用程序的工具。
原生開發庫
用來進行特定平台開發的原生開發庫。
自然語言處理
用來專門處理文本的函數庫。
網路
網路編程函數庫。
ORM
處理對象持久化的API。
用來幫助創建PDF文件的資源。
性能分析
性能分析、性能剖析及基準測試工具。
響應式開發庫
用來開發響應式應用程序的開發庫。
REST框架
用來創建RESTful 服務的框架。
科學計算與分析
用於科學計算和分析的函數庫。
搜索引擎
文檔索引引擎,用於搜索和分析。
安全
用於處理安全、認證、授權或會話管理的函數庫。
序列化
用來高效處理序列化的函數庫。
應用伺服器
用來部署應用程序的伺服器。
模板引擎
在模板中替換表達式的工具。
測試
測試內容從對象到介面,涵蓋性能測試和基準測試工具。
通用工具庫
通用工具類函數庫。
網路爬蟲
用於分析網站內容的函數庫。
Web框架
用於處理Web應用程序不同層次間通訊的框架。
業務流程管理套件
流程驅動的軟體系統構建。
資源
社區
Ⅸ java代碼生成器怎麼用
zip包,然後自動下載下來
1.預先定義好模板
最後放出源代碼:
package com.et.controller.system.createcode;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.et.controller.base.BaseController;
import com.et.util.DelAllFile;
import com.et.util.FileDownload;
import com.et.util.FileZip;
import com.et.util.Freemarker;
import com.et.util.PageData;
import com.et.util.PathUtil;
/**
* 類名稱:FreemarkerController
* 創建人:Harries
* 創建時間:2015年1月12日
* @version
*/
@Controller
@RequestMapping(value=」/createCode」)
public class CreateCodeController extends BaseController {
/**
* 生成代碼
*/
@RequestMapping(value=」/proCode」)
public void proCode(HttpServletResponse response) throws Exception{
PageData pd = new PageData();
pd = this.getPageData();
/* ============================================================================================= */
String packageName = pd.getString(「packageName」); //包名 ========1
String objectName = pd.getString(「objectName」); //類名 ========2
String tabletop = pd.getString(「tabletop」); //表前綴 ========3
tabletop = null == tabletop?」」:tabletop.toUpperCase(); //表前綴轉大寫
String zindext = pd.getString(「zindex」); //屬性總數
int zindex = 0;
if(null != zindext && !」」.equals(zindext)){
zindex = Integer.parseInt(zindext);
}
List<String[]> fieldList = new ArrayList<String[]>(); //屬性集合 ========4
for(int i=0; i< zindex; i++){
fieldList.add(pd.getString(「field」+i).split(「,fh,」)); //屬性放到集合裡面
}
Map<String,Object> root = new HashMap<String,Object>(); //創建數據模型
root.put(「fieldList」, fieldList);
root.put(「packageName」, packageName); //包名
root.put(「objectName」, objectName); //類名
root.put(「objectNameLower」, objectName.toLowerCase()); //類名(全小寫)
root.put(「objectNameUpper」, objectName.toUpperCase()); //類名(全大寫)
root.put(「tabletop」, tabletop); //表前綴
root.put(「nowDate」, new Date()); //當前日期
DelAllFile.delFolder(PathUtil.getClasspath()+」admin/ftl」); //生成代碼前,先清空之前生成的代碼
/* ============================================================================================= */
String filePath = 「admin/ftl/code/」; //存放路徑
String ftlPath = 「createCode」; //ftl路徑
/*生成controller*/
Freemarker.printFile(「controllerTemplate.ftl」, root, 「controller/」+packageName+」/」+objectName.toLowerCase()+」/」+objectName+」Controller.java」, filePath, ftlPath);
/*生成service*/
Freemarker.printFile(「serviceTemplate.ftl」, root, 「service/」+packageName+」/」+objectName.toLowerCase()+」/」+objectName+」Service.java」, filePath, ftlPath);
/*生成mybatis xml*/
Freemarker.printFile(「mapperMysqlTemplate.ftl」, root, 「mybatis_mysql/」+packageName+」/」+objectName+」Mapper.xml」, filePath, ftlPath);
Freemarker.printFile(「mapperOracleTemplate.ftl」, root, 「mybatis_oracle/」+packageName+」/」+objectName+」Mapper.xml」, filePath, ftlPath);
/*生成SQL腳本*/
Freemarker.printFile(「mysql_SQL_Template.ftl」, root, 「mysql資料庫腳本/」+tabletop+objectName.toUpperCase()+」.sql」, filePath, ftlPath);
Freemarker.printFile(「oracle_SQL_Template.ftl」, root, 「oracle資料庫腳本/」+tabletop+objectName.toUpperCase()+」.sql」, filePath, ftlPath);
/*生成jsp頁面*/
Freemarker.printFile(「jsp_list_Template.ftl」, root, 「jsp/」+packageName+」/」+objectName.toLowerCase()+」/」+objectName.toLowerCase()+」_list.jsp」, filePath, ftlPath);
Freemarker.printFile(「jsp_edit_Template.ftl」, root, 「jsp/」+packageName+」/」+objectName.toLowerCase()+」/」+objectName.toLowerCase()+」_edit.jsp」, filePath, ftlPath);
/*生成說明文檔*/
Freemarker.printFile(「docTemplate.ftl」, root, 「說明.doc」, filePath, ftlPath);
//this.print(「oracle_SQL_Template.ftl」, root); 控制台列印
/*生成的全部代碼壓縮成zip文件*/
FileZip.zip(PathUtil.getClasspath()+」admin/ftl/code」, PathUtil.getClasspath()+」admin/ftl/code.zip」);
/*下載代碼*/
FileDownload.fileDownload(response, PathUtil.getClasspath()+」admin/ftl/code.zip」, 「code.zip」);
}
}