??最近要忙期考,但還是決定每天抽點空來寫CodeSmith的系列文章了,在此實在不敢用教程這個詞語,畢竟自己對CodeSmith了解的也不是很多,有很多牛人都在博客園發布了不少關于CodeSmith的文章了,但我還是想發表一下自己的心得,希望能給初學者更多的參考,教程中有錯誤或者表述不清的地方歡迎大家指出,我還是會秉承之前的風格,用盡量多的圖來說明步驟,因為我覺得還是圖文并茂的文章比較容易理解.
??好了,廢話少說,開始我們的CodeSmith旅程吧,我先講講這個系列教程要完成的目標吧,眾所周知,CodeSmith其中一個強大的功能就是依照模板生成批量代碼,這也是吸引著眾多編程人士使用它的原因,它大大的節約了編程時間,省去了大量復制粘貼的廢操作.
??首先,既然要講解如何使用CodeSmith和PowerDesigner快速生成批量代碼,當然要先安裝這2個軟體啦,下面就簡單說說如何安裝破解這2款軟體吧,當然破解只是學習之用,請大家不要用于商業用途哈,要支持正版,大家都是做軟體的,知道開發一套軟體實屬不易啊.
CodeSmith安裝方法:
1). 點擊下載安裝檔案
2). 運行
,安裝步驟就不說了,選擇你要安裝的目錄,一路下一步就OK了.
3). 運行
,選擇CodeSmith的安裝目錄,一路下一步,就破解
完成啦,接著你就可以在開始--CodeSmith Professional 5.1--CodeSmith Studio運行程式啦.
PowerDesigner安裝方法:
http://dev.firnow.com/course/3_program/java/javajs/20090908/174375.html
??安裝完這2個軟體了,接著就開始使用吧,還是和以前一樣,先提出需求,再做實體,因為我們之所以使用它們,肯定是因為它們能巧妙的解決某種問題,不然我們干嘛花那么多時間和硬碟空間安裝它們.
??好,我們現在的需求是:希望當接到一個新的工程專案時,程式員只需要根據專案需求,設計出資料庫的結構(表,表的欄位,表間關系),之后只要按一個按鍵,就能立刻得到基于該資料庫的所有分層架構代碼檔案.也就是說,我們希望能在不敲一行代碼的情況下獲取所有我們想要的代碼!而這就是這2個軟體能做到的事情,也是我們安裝它們的目的.
??好了,角色已經介紹完了,接著看看它們是如何演繹這場精彩的演出的吧:
??首先我們需要創建一個測驗資料庫,為了簡單,我們在這個資料庫中只創建一個Student表和一個Major表.其表結構和關系如下所示.

??看看怎樣用PowerDesigner快速的創建出這個資料庫吧.
??1.現在開始使用PowerDesigner創建資料庫,首先運行程式,進入主界面:

??2.File—New Model—Physical Data Model—Physical Diagram—Model name 設定為test,DBMS屬性設定為Microsoft SQL Server 2005:

??3.首先用表格工具創建一個表格模板:

??4.雙擊表格模板,設定屬性,我們首先設定Major表:

??5.設定好表名,點擊Columns標簽,設定欄位屬性,設定如圖所示:

??6.因為MajorID欄位我們要設定為自動增長,所以要設定它的高級屬性,選擇MajorID欄位,點擊屬性按鈕,在General面板中勾選上Identity復選框:

??7.確定后我們再創建一個Student表,欄位設定如圖所示:

??8.接著是為Student創建一個MajorID外鍵,使用PowerDesigner可以很輕松的完成這個作業,選擇關系設定工具,在Student表上按住左鍵不放,拖拽至Major表,便可為Student表添加一個MajorID的外鍵:

??9.哈哈,現在測驗表已經設定好了,接著設定一下我們要生成的資料庫吧,這些表都將被創建到該資料庫中,我們在設計面板空白處右鍵—Properties,在彈出的屬性設定對話框設定如下:

??10好了,在此我們對新資料庫的設定已經完成,但是在SQL中還是空空如也啊,我們要怎么把這邊設計好的結構移植到SQLServer 2005中呢?執行操作:Database—Generate Database,設定好存盤程序匯出目錄和檔案名,點擊確定即可:

??11.到你的匯出目錄,就可以看見匯出的資料庫創建存盤程序了,打開SQL,執行一下,你就會看到資料庫被神奇的創建好了:


??12.好了,資料庫的準備作業做好了,下一篇我們就將使用該資料庫結合CodeSmith自動批量生成代碼啦~
上述實踐中生成的源代碼:
/*==============================================================*//* Database name: PD_test *//* DBMS name: Microsoft SQL Server 2005 *//* Created on: 2010/6/13 星期日 17:27:17 *//*==============================================================*/dropdatabase PD_testgo/*==============================================================*//* Database: PD_test *//*==============================================================*/createdatabase PD_testgouse PD_testgo/*==============================================================*//* Table: Major *//*==============================================================*/createtable Major ( MajorID intidentity, Name nvarchar(20) notnull, Remark nvarchar(Max) null, constraint PK_MAJOR primarykey (MajorID))go/*==============================================================*//* Table: Student *//*==============================================================*/createtable Student ( StudentID nvarchar(20) notnull, MajorID intnull, Name nvarchar(20) notnull, Sex bitnotnull, Age intnull, Remark nvarchar(Max) null, constraint PK_STUDENT primarykey (StudentID))goaltertable Student addconstraint FK_STUDENT_REFERENCE_MAJOR foreignkey (MajorID) references Major (MajorID)go
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/286361.html
標籤:大數據
上一篇:HTAP | MySQL 到 ClickHouse 的高速公路
下一篇:用規劃模型求解指派問題
