專利名稱::一種自動(dòng)生成代碼的系統(tǒng)及方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算機(jī)程序開發(fā)
技術(shù)領(lǐng)域:
,特別涉及一種自動(dòng)生成代碼的系統(tǒng)和方法。
背景技術(shù):
:通常在一個(gè)應(yīng)用程序的開發(fā)過程中,在對(duì)數(shù)據(jù)表編寫實(shí)體類和編寫增、刪、改、查方法時(shí),都會(huì)存在著一些操作過程和操作方法相同的操作,有了相同的操作過程和操作方法,程序員勢(shì)必要做很多重復(fù)勞動(dòng)的工作,為了減免程序員的重復(fù)勞動(dòng),為了提高開發(fā)效率,為了減少出錯(cuò)幾率,程序員需要擁有一個(gè)替他們做這些重復(fù)勞動(dòng)的工具,這樣程序員將會(huì)在重復(fù)勞動(dòng)中解脫出來(lái),將更多的精力投入到業(yè)務(wù)邏輯分析實(shí)現(xiàn)上,這樣可以大大降低開發(fā)成本,縮短開發(fā)周期,提供產(chǎn)品質(zhì)量。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題在于提供一種自動(dòng)生成代碼的系統(tǒng)和方法,提高軟件程序開發(fā)效率,降低開發(fā)成本,縮短開發(fā)周期。為解決本發(fā)明的技術(shù)問題,本發(fā)明公開一種自動(dòng)生成代碼的系統(tǒng),包括參數(shù)設(shè)置模塊,數(shù)據(jù)資源獲取模塊,代碼生成模塊;所述參數(shù)設(shè)置模塊用于獲取用戶設(shè)置的信息類命名空間、操作類命名空間、操作接口類命名空間,以及目標(biāo)源文件語(yǔ)言;所述數(shù)據(jù)資源獲取模塊用于獲取用戶設(shè)置的數(shù)據(jù)庫(kù),根據(jù)所述用戶設(shè)置的數(shù)據(jù)庫(kù)獲取該數(shù)據(jù)庫(kù)所包括的數(shù)據(jù)表,以及獲取用戶從所述數(shù)據(jù)表中選擇的數(shù)據(jù)表,根據(jù)所述用戶選擇的數(shù)據(jù)表獲取數(shù)據(jù)表的關(guān)鍵信息;所述代碼生成模塊用于獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息、所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及所述信息類命名空間,生成相應(yīng)的信息類文件;根據(jù)所述操作類文件命名空間,生成相應(yīng)的操作類文件;根據(jù)所述操作接口類命名空間生成相應(yīng)的操作接口類文件;所述關(guān)鍵信息包括數(shù)據(jù)表字段名和字段類型。其中,所述關(guān)鍵信息還包括字段是否為主鍵的信息,所述代碼生成模塊還用于根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是存在為主鍵的字段,若存在,則相應(yīng)地生成包括查詢、增加、刪除、修改四種操作方法的操作接口類文件和相應(yīng)的實(shí)現(xiàn)所述四種操作方法的操作類文件;若不存在,則相應(yīng)地生成僅包括查詢操作方法的操作接口類文件和相應(yīng)地生成實(shí)現(xiàn)只包括所述查詢操作方法的操作類文件。其中,所述代碼生成模塊遍歷所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,將數(shù)據(jù)表的表名作為類文件的類名,字段名作為屬性,將字段類型作為屬性類型,生成相應(yīng)的信息類文件。其中,所述系統(tǒng)還包括存儲(chǔ)模塊,用于將所述代碼生成模塊生成的信息類文件、操作類文件和操作接口類文件分別存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)空間內(nèi)。其中,所述系統(tǒng)還包括檢查模塊,用于檢查所述代碼生成模塊生成的信息類文件、操作類文件和操作接口類文件是否存在語(yǔ)法錯(cuò)誤,若是,則輸出報(bào)警消息。為解決本發(fā)明的技術(shù)問題,本發(fā)明還公開一種自動(dòng)生成代碼的方法,包括步驟獲取用戶設(shè)置的信息類命名空間、操作類命名空間、操作接口類命名空間,以及目標(biāo)源文件語(yǔ)言;獲取用戶設(shè)置的數(shù)據(jù)庫(kù),根據(jù)所述用戶設(shè)置的數(shù)據(jù)庫(kù)獲取該數(shù)據(jù)庫(kù)所包括的數(shù)據(jù)表,以及獲取用戶從所述數(shù)據(jù)表中選擇的數(shù)據(jù)表;獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息、所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及所述信息類命名空間,生成相應(yīng)的信息類文件;根據(jù)所述操作類文件命名空間,生成相應(yīng)的操作類文件;根據(jù)所述操作接口類命名空間生成相應(yīng)的操作接口類文件;所述關(guān)鍵信息包括數(shù)據(jù)表的字段名和字段類型。其中,所述關(guān)鍵信息還包括字段是否為主鍵的信息;所述根據(jù)操作接口類命名空間,生成相應(yīng)的操作接口類文件的步驟具體為根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是否存在為主鍵的字段,若是,則相應(yīng)地生成包括查詢、增加、刪除、修改四種操作方法的操作接口類文件;否則相應(yīng)地生成只包括查詢操作方法的操作接口類文件;所述根據(jù)操作類命名空間,生成相應(yīng)的操作類文件的步驟具體為根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是存在為主鍵的字段,若存在,則相應(yīng)地生成實(shí)現(xiàn)包括查詢、增加、刪除、修改四種操作方法的操作類文件;若不存在,則相應(yīng)地生成實(shí)現(xiàn)只包括所述查詢操作方法的操作類文件。其中,所述生成相應(yīng)的信息類文件的步驟具體包括根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,將數(shù)據(jù)表的表名作為類文件的類名,字段名作為屬性,將字段類型作為屬性類型,生成相應(yīng)的信息類文件。其中,還包括步驟分別將生成的信息類文件、操作類文件和操作接口類文件存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)空間內(nèi)。其中,所述方法還包括步驟檢查所述信息類文件、操作類文件和操作接口類文件是否存在語(yǔ)法錯(cuò)誤,若是,則輸出報(bào)警消息。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果本發(fā)明可自動(dòng)根據(jù)用戶設(shè)置的各種參數(shù)相應(yīng)地生成各種類文件,遵循了面向?qū)ο蟮牟僮鞣绞?,使程序開發(fā)人員編程時(shí),只需將生成的類文件復(fù)制到目標(biāo)程序中即可,大大提高了程序開發(fā)的效率,降低開發(fā)成本,縮短開發(fā)周期。圖1是本發(fā)明實(shí)施例1的自動(dòng)生成代碼的系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明實(shí)施例1的參數(shù)設(shè)置界面的示意圖;圖3是本發(fā)明實(shí)施例1的自動(dòng)生成代碼的方法流程圖4是本發(fā)明實(shí)施例2的自動(dòng)生成代碼的系統(tǒng)結(jié)構(gòu)圖。具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供的自動(dòng)生成代碼的系統(tǒng),能夠自動(dòng)根據(jù)用戶設(shè)置的各種參數(shù),相應(yīng)地生成各種信息類文件、操作類文件和操作接口類文件,遵循了面向?qū)ο蟮牟僮鞣绞?,使程序員編程時(shí),如要用到上述類文件,可直接在系統(tǒng)中調(diào)出類文件,拷貝到目標(biāo)程序中即可,避免程序員重復(fù)編寫相同的代碼,大大提高了程序開發(fā)的效率,降低開發(fā)成本,縮短開發(fā)周期。實(shí)施例1如圖1所示,本實(shí)施例提供的自動(dòng)生成代碼系統(tǒng)包括參數(shù)設(shè)置模塊、數(shù)據(jù)資源獲取模塊和代碼生成模塊。所述參數(shù)設(shè)置模塊用于獲取用戶設(shè)置的信息類命名空間、操作類命名空間、操作接口類命名空間,以及目標(biāo)源文件語(yǔ)言;所述數(shù)據(jù)資源獲取模塊用于獲取用戶設(shè)置的數(shù)據(jù)庫(kù),根據(jù)所述用戶設(shè)置的數(shù)據(jù)庫(kù)獲取該數(shù)據(jù)庫(kù)所包括的數(shù)據(jù)表,以及獲取用戶從所述數(shù)據(jù)表中選擇的數(shù)據(jù)表,根據(jù)所述用戶選擇的數(shù)據(jù)表獲取數(shù)據(jù)表的關(guān)鍵信息;所述代碼生成模塊用于根據(jù)用戶發(fā)出的生成指令,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及根據(jù)所信息類命名空間,生成相應(yīng)的信息類文件;根據(jù)所述操作類文件命名空間,生成相應(yīng)的操作類文件;根據(jù)所述操作接口類命名空間生成相應(yīng)的操作接口類文件;在本實(shí)施例中,所述關(guān)鍵信息包括數(shù)據(jù)表的字段名和字段類型。如圖2所示,本實(shí)施例的自動(dòng)生成代碼系統(tǒng)會(huì)向用戶展示參數(shù)設(shè)置界面,界面中包括用于使用戶選擇和設(shè)置各種數(shù)據(jù)庫(kù)的第一顯示區(qū)域10和用于使用戶選擇數(shù)據(jù)庫(kù)下所有數(shù)據(jù)表的第二顯示區(qū)域20,以及用于使用戶選擇和設(shè)置信息類命名空間、操作類命名空間、操作接口類命名空間和目標(biāo)源文件語(yǔ)言的第三顯示區(qū)域30,以及用于使用戶瀏覽選中的數(shù)據(jù)表所包含的各個(gè)關(guān)鍵信息及其他信息的第四顯示區(qū)域40。參數(shù)獲取模塊通過該界面獲取用戶選擇及設(shè)置的各類參數(shù),例如圖2中所示,信息類命名空間為PVOD.Model,操作類命名空間為PVOD.DAL,操作接口類命名空間為PV0D.IDAL,目標(biāo)源文件語(yǔ)言為C#語(yǔ)言。如圖2中所示,當(dāng)用戶選中PV0D_Dev_neW數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)資源獲取模塊根據(jù)該數(shù)據(jù)庫(kù)的鏈接,鏈接到相應(yīng)的數(shù)據(jù)庫(kù)中,獲取該數(shù)據(jù)庫(kù)的數(shù)據(jù)表,并將數(shù)據(jù)表的表名在第二顯示區(qū)域20中進(jìn)行顯示,包括Mytable、TB_Arrange、TB_Broadcast、TB_Configuration、TB_Newinfro和TB_User。在本實(shí)施例中,用于鏈接到數(shù)據(jù)庫(kù)的鏈接可由用戶設(shè)置,也可由系統(tǒng)自動(dòng)生成。當(dāng)用戶選中TB_User數(shù)據(jù)表,數(shù)據(jù)資源獲取模塊根據(jù)用戶選中的TB_User數(shù)據(jù)表,獲取該數(shù)據(jù)表所包含的各種信息,包括關(guān)鍵信息和其他信息,例如字段名稱、字段類型、字段長(zhǎng)度等,然后在第四顯示區(qū)域40中顯示出來(lái),以方便用戶瀏覽相關(guān)信息。若用戶確認(rèn)需生成代碼,則按下“生成”按鈕,代碼生成模塊獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及所述信息類命名空間,生成相應(yīng)的信息類文件。具體地,代碼生成模塊通過逐一遍歷所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,將數(shù)據(jù)表的表名作為類文件的類名,將字段名作為屬性,將字段類型作為屬性類型,生成相應(yīng)的信息類文件。根據(jù)圖2所示設(shè)置的參數(shù),最終生成的信息類文件heHnfo.cs可如下所示(只列出了部分代碼)namespacePVOD.Model{publicclassUserInfo{privateInt32mnUserID=0;privateStringmsName=String.Empty;privateStringmsNO=String.Empty;privateStringmsRealName=String.EmptyprivateStringmsEmail=String.Empty;privateStringmsPassword=String.EmptyprivateStringmsRemark=String.Empty;publicInt32nUserID{get{returnthis.mnUserIDset{this.mnUserID=value;this.mlsDBNullt"nUserID"]=false代碼生成模塊獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵息,所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及根據(jù)所述操作接口類文件命名空間,生成相應(yīng)的操作接口類文件。具體地,在本實(shí)施例中,所述關(guān)鍵信息還包括字段是否為主鍵的信息,所述代碼生成模塊還用于根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是否存在為主鍵的字段,若存在,則相應(yīng)地生成包括查詢、增加、刪除、修改四種操作方法的操作接口類文件;若不存在,則相應(yīng)地生成僅包括查詢操作方法的操作接口類文件。如圖2所示,本實(shí)施例的TB_User數(shù)據(jù)表中r^serID字段為主鍵,則代碼生成模塊相應(yīng)地生成包括查詢、增加、刪除、修改四種操作方法的操作接口類文件KserOprt.cs,可如下所示(只列出了部分代碼)namespacePVOD.IDAL{publicpartialinterfaceIUserOprt///〈summary〉III查詢表信息///〈/summary〉///〈paramname=“nUserID">表主鍵</param>///〈returns〉受影響行數(shù)〈/returns〉UserInfoGetInfo(Int32nUserID);///〈summary〉III創(chuàng)建表數(shù)據(jù)///〈/summary〉///〈paramname=“info“>^iM^inM^</param>///〈returns〉自增列值〈/returns〉intInsert(Userlnfoinfo);///〈summary〉III更新表數(shù)據(jù)///〈/summary〉///〈paramname=“info“>^iM^inM^</param>///〈returns〉受影響行數(shù)〈/returns〉intUpdate(Userlnfoinfo);///〈summary〉III刪除表數(shù)據(jù)///</summary)III<paramname="nUserID">表主鍵</param>///〈returns〉受影響行數(shù)〈/returns〉intDelete(Int32nUserID);同時(shí),代碼生成模塊獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及根據(jù)所述操作類文件命名空間,生成相應(yīng)的操作類文件。在本實(shí)施例中,由于TB_User數(shù)據(jù)表中nUserID字段為主鍵,因此,代碼生成模塊也相應(yīng)地生成實(shí)現(xiàn)包括查詢、增加、刪除、修改四種操作方法的操作類文件herOprt.cs,可如下所示(只列出了部分代碼)namespacePVOD.DAL0102]{///<summary>///表操作類///</summary>publicpartialclassUserOprt:MarshalByRefObject,IUserOprt{///<summary>///獲取表信息///</summary>///<paramname=〃nUserID">表主鍵</param>///〈returns〉受景i響行數(shù)〈/returns〉publicUserInfoGetInfo(Int32nUserID){IDBHelperdbHelper=DBUti1.DefaultDBHelperInstance;returnthis.GetInfo(dbHelper,nUserID);}///<summary>///獲取表信息///</summary>///<paramname=〃dbHelper">數(shù)據(jù)庫(kù)助手</param>///<paramname=〃nUserID">表主鍵</param>///〈returns〉受景i響行數(shù)〈/returns〉publicUserInfoGetInfo(IDBHelperdbHelper,Int32nUserID){stringsql=〃SELECT*FR0MTB_UserWHEREnUserID=inUserID";DataTabledt=DBUtil.ExecuteQuery(dbHelper,sql,newDBParameter("inUserID",nUserID));if(dt.Roffs.Count>0){returnnewUserInfo(dt.Roffs);}returnnull;}///<summary>///創(chuàng)建表數(shù)據(jù)///</summary>///<paramname="info">數(shù)據(jù)表信息</param>///〈returns〉自增歹Ij值〈/returns〉publicintInsert(Userlnfoinfo){IDBHelperdbHelper=DBUti1.DefaultDBHelperInstance;returnthis.Insert(dbHelper,info);}}如圖3所示,本實(shí)施例還公開一種自動(dòng)生成代碼的方法,包括步驟獲取用戶設(shè)置的信息類命名空間、操作類命名空間、操作接口類命名空間,以及目標(biāo)源文件語(yǔ)言;獲取用戶設(shè)置的數(shù)據(jù)庫(kù),根據(jù)所述用戶設(shè)置的數(shù)據(jù)庫(kù)獲取該數(shù)據(jù)庫(kù)所包括的數(shù)據(jù)表,以及獲取用戶從所述數(shù)據(jù)表中選擇的數(shù)據(jù)表;獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息、所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及所述信息類命名空間,生成相應(yīng)的信息類文件;根據(jù)所述操作類文件命名空間,生成相應(yīng)的操作類文件;根據(jù)所述操作接口類命名空間生成相應(yīng)的操作接口類文件;所述關(guān)鍵信息包括數(shù)據(jù)表的字段名和字段類型。其中,所述生成相應(yīng)的信息類文件的步驟具體包括根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,將數(shù)據(jù)表的表名作為類文件的類名,字段名作為屬性,將字段類型作為屬性類型,生成相應(yīng)的信息類文件。另外,在本實(shí)施例中所述關(guān)鍵信息還包括字段是否為主鍵的信息;因此,所述根據(jù)操作接口類命名空間,生成相應(yīng)的操作接口類文件的步驟具體為根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是否存在為主鍵的字段,若是,則相應(yīng)地生成包括查詢、增加、刪除、修改四種操作方法的操作接口類文件;否則相應(yīng)地生成只包括查詢操作方法的操作接口類文件;所述根據(jù)操作類命名空間,生成相應(yīng)的操作類文件的步驟具體為根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是存在為主鍵的字段,若存在,則相應(yīng)地生成實(shí)現(xiàn)包括查詢、增加、刪除、修改四種操作方法的操作類文件;若不存在,則相應(yīng)地生成實(shí)現(xiàn)只包括所述查詢操作方法的操作類文件。具體的工作原理,在上文中已有描述,此處就不再贅述。本實(shí)施例根據(jù)用戶設(shè)置的各種參數(shù),自動(dòng)地生成相應(yīng)的類文件,使用戶進(jìn)行程序開發(fā)時(shí),只需將類文件直接添加目標(biāo)程序中,就可以做為目標(biāo)程序的一部分,并實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)庫(kù)功能,避免程序員重復(fù)編寫相同的代碼,大大提高了程序開發(fā)的效率,降低開發(fā)成本,縮短開發(fā)周期。實(shí)施例2如圖4所示,在本實(shí)施例中,所述自動(dòng)生成代碼系統(tǒng)除包括實(shí)施例1中的參數(shù)設(shè)置模塊、數(shù)據(jù)資源獲取模塊和代碼生成模塊外,還包括存儲(chǔ)模塊和檢查模塊。其中,存儲(chǔ)模塊用于將所述代碼生成模塊生成的信息類文件、操作類文件和操作接口類文件分別存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)空間內(nèi)。在實(shí)際的數(shù)據(jù)庫(kù)類型的應(yīng)用系統(tǒng)開發(fā)過程中,往往需要成百上千的類文件,而本實(shí)施例將不同的類文件分別存儲(chǔ)于不同的存儲(chǔ)空間(例如文件夾、目錄等)中,可非常方便用戶查找和選擇相應(yīng)的類文件,進(jìn)一步提高程序開發(fā)效率。其中,檢查模塊用于檢查所述代碼生成模塊生成的信息類文件、操作類文件和操作接口類文件是否存在語(yǔ)法錯(cuò)誤,若是,則輸出報(bào)警消息。本實(shí)施例通過檢查模塊對(duì)類文件進(jìn)行語(yǔ)法檢查,及時(shí)輸出報(bào)警消息,使用戶能夠及時(shí)改正錯(cuò)誤,進(jìn)一步確保生成的類文件的源代碼的正確性,進(jìn)一步提高程序開發(fā)效率。本實(shí)施例的自動(dòng)生成代碼的方法除包括上述實(shí)施例1中的步驟外,還包括以下步驟分別將生成的信息類文件、操作類文件和操作接口類文件存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)空間內(nèi)。檢查所述信息類文件、操作類文件和操作接口類文件是否存在語(yǔ)法錯(cuò)誤,若是,則輸出報(bào)警消息。以上舉較佳實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi),本發(fā)明所主張的權(quán)利范圍應(yīng)以發(fā)明申請(qǐng)范圍所述為準(zhǔn),而非僅限于上述實(shí)施例。1權(quán)利要求1.一種自動(dòng)生成代碼的系統(tǒng),其特征在于,包括參數(shù)設(shè)置模塊,數(shù)據(jù)資源獲取模塊,代碼生成模塊;所述參數(shù)設(shè)置模塊用于獲取用戶設(shè)置的信息類命名空間、操作類命名空間、操作接口類命名空間,以及目標(biāo)源文件語(yǔ)言;所述數(shù)據(jù)資源獲取模塊用于獲取用戶設(shè)置的數(shù)據(jù)庫(kù),根據(jù)所述用戶設(shè)置的數(shù)據(jù)庫(kù)獲取該數(shù)據(jù)庫(kù)所包括的數(shù)據(jù)表,以及獲取用戶從所述數(shù)據(jù)表中選擇的數(shù)據(jù)表,根據(jù)所述用戶選擇的數(shù)據(jù)表獲取數(shù)據(jù)表的關(guān)鍵信息;所述代碼生成模塊用于獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息、所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及所述信息類命名空間,生成相應(yīng)的信息類文件;根據(jù)所述操作類文件命名空間,生成相應(yīng)的操作類文件;根據(jù)所述操作接口類命名空間生成相應(yīng)的操作接口類文件;所述關(guān)鍵信息包括數(shù)據(jù)表字段名和字段類型。2.如權(quán)利要求1所述的自動(dòng)生成代碼的系統(tǒng),其特征在于,所述關(guān)鍵信息還包括字段是否為主鍵的信息,所述代碼生成模塊還用于根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是存在為主鍵的字段,若存在,則相應(yīng)地生成包括查詢、增加、刪除、修改四種操作方法的操作接口類文件和相應(yīng)的實(shí)現(xiàn)所述四種操作方法的操作類文件;若不存在,則相應(yīng)地生成僅包括查詢操作方法的操作接口類文件和相應(yīng)地生成實(shí)現(xiàn)只包括所述查詢操作方法的操作類文件。3.如權(quán)利要求1所述的自動(dòng)生成代碼的系統(tǒng),其特征在于,所述代碼生成模塊遍歷所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,將數(shù)據(jù)表的表名作為類文件的類名,字段名作為屬性,將字段類型作為屬性類型,生成相應(yīng)的信息類文件。4.如權(quán)利要求1至3任一項(xiàng)所述的自動(dòng)生成代碼的系統(tǒng),其特征在于,所述系統(tǒng)還包括存儲(chǔ)模塊,用于將所述代碼生成模塊生成的信息類文件、操作類文件和操作接口類文件分別存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)空間內(nèi)。5.如權(quán)利要求1至3任一項(xiàng)所述的自動(dòng)生成代碼的系統(tǒng),其特征在于,所述系統(tǒng)還包括檢查模塊,用于檢查所述代碼生成模塊生成的信息類文件、操作類文件和操作接口類文件是否存在語(yǔ)法錯(cuò)誤,若是,則輸出報(bào)警消息。6.一種自動(dòng)生成代碼的方法,其特征在于,包括步驟獲取用戶設(shè)置的信息類命名空間、操作類命名空間、操作接口類命名空間,以及目標(biāo)源文件語(yǔ)言;獲取用戶設(shè)置的數(shù)據(jù)庫(kù),根據(jù)所述用戶設(shè)置的數(shù)據(jù)庫(kù)獲取該數(shù)據(jù)庫(kù)所包括的數(shù)據(jù)表,以及獲取用戶從所述數(shù)據(jù)表中選擇的數(shù)據(jù)表;獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息、所述用戶設(shè)置的目標(biāo)源文件語(yǔ)言,以及所述信息類命名空間,生成相應(yīng)的信息類文件;根據(jù)所述操作類文件命名空間,生成相應(yīng)的操作類文件;根據(jù)所述操作接口類命名空間生成相應(yīng)的操作接口類文件;所述關(guān)鍵信息包括數(shù)據(jù)表的字段名和字段類型。7.如權(quán)利要求6所述的方法,其特征在于,所述關(guān)鍵信息還包括字段是否為主鍵的信息;所述根據(jù)操作接口類命名空間,生成相應(yīng)的操作接口類文件的步驟具體為根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是否存在為主鍵的字段,若是,則相應(yīng)地生成包括查詢、增加、刪除、修改四種操作方法的操作接口類文件;否則相應(yīng)地生成只包括查詢操作方法的操作接口類文件;所述根據(jù)操作類命名空間,生成相應(yīng)的操作類文件的步驟具體為根據(jù)所述字段是否為主鍵的信息判斷所述數(shù)據(jù)表中是存在為主鍵的字段,若存在,則相應(yīng)地生成實(shí)現(xiàn)包括查詢、增加、刪除、修改四種操作方法的操作類文件;若不存在,則相應(yīng)地生成實(shí)現(xiàn)只包括所述查詢操作方法的操作類文件。8.如權(quán)利要求6所述的方法,其特征在于,所述生成相應(yīng)的信息類文件的步驟具體包括根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息,將數(shù)據(jù)表的表名作為類文件的類名,字段名作為屬性,將字段類型作為屬性類型,生成相應(yīng)的信息類文件。9.如權(quán)利要求5至7任一項(xiàng)所述的方法,其特征在于,還包括步驟分別將生成的信息類文件、操作類文件和操作接口類文件存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)空間內(nèi)。10.如權(quán)利要求5至7任一項(xiàng)所述的方法,其特征在于,還包括步驟檢查所述信息類文件、操作類文件和操作接口類文件是否存在語(yǔ)法錯(cuò)誤,若是,則輸出報(bào)警消息。全文摘要本發(fā)明公開一種自動(dòng)生成代碼的系統(tǒng),包括參數(shù)設(shè)置模塊,數(shù)據(jù)資源獲取模塊,代碼生成模塊;所述參數(shù)設(shè)置模塊用于獲取用戶設(shè)置的各種參數(shù);所述數(shù)據(jù)資源獲取模塊用于獲取用戶設(shè)置的數(shù)據(jù)庫(kù),根據(jù)所述用戶設(shè)置的數(shù)據(jù)庫(kù)獲取該數(shù)據(jù)庫(kù)所包括的數(shù)據(jù)表,以及獲取用戶從所述數(shù)據(jù)表中選擇的數(shù)據(jù)表,根據(jù)所述用戶選擇的數(shù)據(jù)表獲取數(shù)據(jù)表的關(guān)鍵信息;所述代碼生成模塊用于獲取到用戶發(fā)出的生成指令后,根據(jù)所述用戶選擇的數(shù)據(jù)表的關(guān)鍵信息、以及各種參數(shù),生成相應(yīng)的信息類文件、操作類文件和操作接口類文件。本發(fā)明遵循了面向?qū)ο蟮牟僮鞣绞?,使程序開發(fā)人員編程時(shí),只需將生成的類文件復(fù)制到目標(biāo)程序中即可,大大提高了程序開發(fā)的效率,縮短開發(fā)周期。文檔編號(hào)G06F9/44GK102122247SQ20111006501公開日2011年7月13日申請(qǐng)日期2011年3月17日優(yōu)先權(quán)日2011年3月17日發(fā)明者邵珠玉申請(qǐng)人:深圳市同洲軟件有限公司