專利名稱:代碼自動(dòng)生成系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫開發(fā)工具,特別涉及一種數(shù)據(jù)庫表相關(guān)代碼自動(dòng)生成系 統(tǒng)及方法。
背景技術(shù):
為了減少軟件開發(fā)人員在軟件按開發(fā)過程中的工作量,目前的開發(fā)工具可 自動(dòng)識(shí)別出目標(biāo)數(shù)據(jù)庫的表結(jié)構(gòu)后,并按照特定的語法自動(dòng)生成計(jì)算機(jī)程序代 碼,以用于訪問、修改、刪除已知的數(shù)據(jù)庫表中數(shù)據(jù)的代碼,或者根據(jù)數(shù)據(jù)庫 中表的結(jié)構(gòu)生成相應(yīng)數(shù)據(jù)庫存儲(chǔ)過程的代碼。上述開發(fā)工具在一定程度上降低 了軟件開發(fā)人員的代碼編寫壓力,提升了開發(fā)效率。
然而,上述開發(fā)工具基本上只能生成后臺(tái)操作代碼,而無法生成前臺(tái)界面 代碼,或者生成的界面控件在實(shí)際應(yīng)用中沒有價(jià)值。
此外,上述開發(fā)工具所生成的程序代碼只是個(gè)粗坯,不能即時(shí)運(yùn)行看效果, 仍然需要把生成的代碼導(dǎo)入到開發(fā)人員的開發(fā)工具環(huán)境下,進(jìn)行二次開發(fā)后, 再布署到運(yùn)行環(huán)境上才能運(yùn)行并看到效果。
上述代碼在運(yùn)行環(huán)境中運(yùn)行時(shí),若發(fā)覺代碼的某些部分需求變更,只能在 已經(jīng)修改過的代碼上進(jìn)行再次修改,而不能通過代碼生成系統(tǒng)生成新的額外代 碼。否則之前已有的修改會(huì)被覆蓋,開發(fā)工作白白浪費(fèi)。
如上所述,現(xiàn)有的代碼自動(dòng)生成技術(shù)有且只能有一次的代碼自動(dòng)生成過 程,提升的開發(fā)效率有限,充其量只能算作半自動(dòng)化。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對(duì)上述數(shù)據(jù)庫表代碼自動(dòng)生成時(shí)僅有一 次代碼自動(dòng)生成的問題,提供一種代碼自動(dòng)生成系統(tǒng)及方法。本發(fā)明解決上述技術(shù)問題的技術(shù)方案是,提供一種代碼自動(dòng)生成系統(tǒng),包
括
第一創(chuàng)建單元,用于根據(jù)選定的數(shù)據(jù)庫表創(chuàng)建第一 XML文件,所述第一
XML文件包括對(duì)所述數(shù)據(jù)庫表中的各個(gè)字段的描述;
第二創(chuàng)建單元,用于根據(jù)所述第一XML文件創(chuàng)建第二XML文件,所述第二
XML文件包括對(duì)所述數(shù)據(jù)庫表中各個(gè)字段在目標(biāo)系統(tǒng)中的配置信息;
第三創(chuàng)建單元,用于根據(jù)所述第二 XML文件創(chuàng)建目標(biāo)系統(tǒng)代碼文件。 在本發(fā)明所述的代碼自動(dòng)生成系統(tǒng)中,所述第一創(chuàng)建單元包括第一修改單
元,用于根據(jù)輸入的第一修改指令修改所述第一 XML文件中對(duì)所述數(shù)據(jù)庫表中
的字段的描述。
在本發(fā)明所述的代碼自動(dòng)生成系統(tǒng)中,所述配置信息包括查詢頁的査詢 控件、選擇語句、輸出表格的字段類別,修改頁的輸入控件、更新語句,新增 頁的輸入控件、更新語句。
在本發(fā)明所述的代碼自動(dòng)生成系統(tǒng)中,所述第二創(chuàng)建單元包括第二修改單 元,用于根據(jù)輸入的第二修改指令修改第二 XML文件中的字段的配置信息。
在本發(fā)明所述的代碼自動(dòng)生成系統(tǒng)中,還包括模擬運(yùn)行單元,用于根據(jù)輸 入的運(yùn)行指令將所述目標(biāo)系統(tǒng)代碼文件發(fā)送到服務(wù)器運(yùn)行并顯示,并在接收到 重新編輯的指令時(shí)啟動(dòng)所述第二修改單元。
本發(fā)明還提供一種代碼自動(dòng)生成方法,包括以下步驟
(a) 根據(jù)選定的數(shù)據(jù)庫表創(chuàng)建第一XML文件,所述第一XML文件包括對(duì)
所述數(shù)據(jù)庫表中的各個(gè)字段的描述;
(b) 根據(jù)所述第一XML文件創(chuàng)建第二XML文件,所述第二XML文件包括
對(duì)所述數(shù)據(jù)庫表中各個(gè)字段在目標(biāo)系統(tǒng)中的配置信息;
(c) 根據(jù)所述第二XML文件創(chuàng)建目標(biāo)系統(tǒng)代碼文件。 在本發(fā)明所述的代碼自動(dòng)生成方法中,所述步驟(a)中包括根據(jù)輸入的
第一修改指令修改所述第一 XML文件中對(duì)所述數(shù)據(jù)庫表中的字段的描述。
在本發(fā)明所述的代碼自動(dòng)生成方法中,所述步驟(b)中的配置信息包括: 査詢頁的査詢控件、選擇語句、輸出表格的字段類別,修改頁的輸入控件、更新語句,新增頁的輸入控件、更新語句。
在本發(fā)明所述的代碼自動(dòng)生成方法中,所述步驟(b)中包括(bl)根據(jù) 輸入的第二修改指令修改第二 XML文件中的字段的配置信息。
在本發(fā)明所述的代碼自動(dòng)生成方法中,所述步驟(C)之后還包括根據(jù) 輸入的運(yùn)行指令將所述目標(biāo)系統(tǒng)代碼文件發(fā)送到服務(wù)器運(yùn)行并顯示,并在接收 到重新編輯的指令時(shí)返回步驟(bl)。
本發(fā)明的代碼自動(dòng)生成系統(tǒng)及方法,通過生成可多次修改的目標(biāo)系統(tǒng)代碼 的配置文件,把半自動(dòng)化代碼生成提升到全自動(dòng)代碼生成,從而節(jié)省了開發(fā)人 員的開發(fā)時(shí)間。此外,本發(fā)明把列表控件、新增控件、修改控件的描述統(tǒng)一起
來,使得開發(fā)人員能簡(jiǎn)單的復(fù)制XML節(jié)點(diǎn)即能實(shí)現(xiàn)同一字段的不同操作。提高
了配置效率。
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,附圖中
圖1是本發(fā)明代碼自動(dòng)生成系統(tǒng)第一實(shí)施例的示意圖; 圖2是本發(fā)明代碼自動(dòng)生成系統(tǒng)第二實(shí)施例的示意圖; 圖3是本發(fā)明代碼自動(dòng)生成方法實(shí)施例的流程示意圖。
具體實(shí)施例方式
本發(fā)明的系統(tǒng)是一個(gè)在線系統(tǒng),用戶在瀏覽器中登錄后即可通過本發(fā)明的 系統(tǒng)進(jìn)行全部的操作。
如圖l所示,是本發(fā)明代碼自動(dòng)生成系統(tǒng)第一實(shí)施例的結(jié)構(gòu)示意圖,該系 統(tǒng)用于自動(dòng)生成數(shù)據(jù)庫中指定表相關(guān)的代碼,上述代碼不僅包括數(shù)據(jù)表的結(jié)構(gòu) 代碼,而且包括數(shù)據(jù)庫表的界面及操作代碼等。在本實(shí)施例中,該系統(tǒng)包括第 一創(chuàng)建單元11、第二創(chuàng)建單元12以及第三創(chuàng)建單元13,其中第一創(chuàng)建單元 11直接從數(shù)據(jù)庫獲取表字段相關(guān)數(shù)據(jù)。上述第一創(chuàng)建單元11、第二創(chuàng)建單元 12以及第三創(chuàng)建單元13可以是軟件和/或硬件模塊并可實(shí)現(xiàn)相應(yīng)功能。
第一創(chuàng)建單元11用于根據(jù)選定的數(shù)據(jù)庫表創(chuàng)建第一XML文件,該第一XML文件包括對(duì)所述數(shù)據(jù)庫表中的各個(gè)字段的描述。其中各字段的描述可以與數(shù)據(jù) 庫表中的一致或者是對(duì)應(yīng)的中文。
第二創(chuàng)建單元12用于根據(jù)第一創(chuàng)建單元11生成的第一XML文件創(chuàng)建第二 XML文件,該第二 XML文件包括對(duì)數(shù)據(jù)庫表中各個(gè)字段在目標(biāo)系統(tǒng)中的配置信 息。該第二 XML文件中的配置信息包括查詢頁的查詢控件、select語句、 輸出表格的字段類別等,修改頁的輸入控件、update語句等,新增頁的輸入 控件、update語句等。第二創(chuàng)建單元12默認(rèn)按最大化需求生成所有字段設(shè)置, 開發(fā)人員可根據(jù)實(shí)際需要?jiǎng)h除部分設(shè)置。
第三創(chuàng)建單元13用于根據(jù)第二創(chuàng)建單元12生成的的第二 XML文件創(chuàng)建目 標(biāo)系統(tǒng)代碼文件。該目標(biāo)系統(tǒng)代碼可直接在服務(wù)器運(yùn)行并顯示相關(guān)的數(shù)據(jù)庫表 顯示界面。
如圖2所示,是本發(fā)明代碼自動(dòng)生成系統(tǒng)第二實(shí)施例的結(jié)構(gòu)示意圖。同樣 地,該系統(tǒng)包括第一創(chuàng)建單元21、第二創(chuàng)建單元22以及第三創(chuàng)建單元23,其 中第一創(chuàng)建單元11直接從數(shù)據(jù)庫獲取表字段相關(guān)數(shù)據(jù)。
上述的第一創(chuàng)建單元21包括有第一修改單元25,用于根據(jù)輸入的修改指 令使第一XML文件處于編輯狀態(tài),以對(duì)各字段的描述進(jìn)行修改。第二創(chuàng)建單元 22根據(jù)第一修改單元25修改后的第一 XML文件創(chuàng)建第二 XML文件。第二創(chuàng)建 單元22包括有第二修改單元26,用于根據(jù)輸入的修改指令使第二 XML文件處 于編輯狀態(tài),以對(duì)各字段的配置信息進(jìn)行修改,例如刪除某些控件、修改輸出 表格的字段類別等。第三創(chuàng)建單元23再根據(jù)經(jīng)過修改后的第二 XML文件創(chuàng)建 目標(biāo)系統(tǒng)代碼文件。通過第一修改單元25和第二修改單元26,實(shí)現(xiàn)了代碼自 動(dòng)生成過程中的修改,從而實(shí)現(xiàn)了目標(biāo)系統(tǒng)代碼的多次自動(dòng)生成,極大的提升 了開發(fā)效率。
此外,上述系統(tǒng)還包括虛擬運(yùn)行單元24,該虛擬運(yùn)行單元24可將第三創(chuàng) 建單元23生成的目標(biāo)系統(tǒng)代碼文件發(fā)送到服務(wù)器并顯示運(yùn)行地址,并在接收 到運(yùn)行指令時(shí)運(yùn)行該目標(biāo)系統(tǒng)文件。該虛擬運(yùn)行單元24還提供操作按鈕接收 修改指令,并在接收到修改指令時(shí)啟動(dòng)第二修改單元26對(duì)第二 XML文件進(jìn)行 修改。在上述系統(tǒng)中,還可包括一個(gè)選擇模塊(圖中未示出),該選擇模塊提供 一個(gè)操作界面以提供己有數(shù)據(jù)庫服務(wù)器列表、已有數(shù)據(jù)庫列表及已有數(shù)據(jù)庫表 列表,以供用戶用戶選擇特定服務(wù)器的特定數(shù)據(jù)庫中的數(shù)據(jù)庫表。經(jīng)選擇模塊
選擇的數(shù)據(jù)庫表直接發(fā)送到第一創(chuàng)建單元?jiǎng)?chuàng)建第一 XML文件。
如圖3所示,是本發(fā)明代碼自動(dòng)生成方法實(shí)施例的流程圖,該方法用于自 動(dòng)生成數(shù)據(jù)庫中指定表相關(guān)的代碼,上述代碼不僅包括數(shù)據(jù)表的結(jié)構(gòu)代碼,而
且包括數(shù)據(jù)庫表的界面及操作代碼等。在本實(shí)施例中,該方法包括以下步驟
步驟S31:根據(jù)選定的數(shù)據(jù)庫表創(chuàng)建第一XML文件,該第一XML文件包括 對(duì)所述數(shù)據(jù)庫表中的各個(gè)字段的描述。其中各字段的描述可以與數(shù)據(jù)庫表中的 一致或者是對(duì)應(yīng)的中文。
步驟S32:根據(jù)第一XML文件創(chuàng)建第二XML文件,該第二 XML文件包括對(duì) 數(shù)據(jù)庫表中各個(gè)字段的配置信息。該第二XML文件中的配置信息包括査詢頁 的査詢控件、select語句、輸出表格的字段類別等,修改頁的輸入控件、update 語句等,新增頁的輸入控件、update語句等。該步驟中默認(rèn)按最大化需求生 成所有字段設(shè)置,開發(fā)人員可根據(jù)實(shí)際需要?jiǎng)h除部分設(shè)置。
步驟S33:根據(jù)第二XML文件創(chuàng)建目標(biāo)系統(tǒng)代碼文件。該目標(biāo)系統(tǒng)代碼可 直接在服務(wù)器運(yùn)行并顯示相關(guān)的數(shù)據(jù)庫表顯示界面。
特別地,為了進(jìn)一步便利操作,可在步驟S31中增加修改第一XML文件的 步驟,即根據(jù)輸入的第一修改指令使第一XML文件處于編輯狀態(tài),以修改第一 XML文件中對(duì)數(shù)據(jù)庫表中的字段的描述。在步驟S32中可增加修改第二 XML 文件的步驟,即根據(jù)輸入的第二修改指令使第二 XML文件處于編輯狀態(tài),以修 改第二 XML文件中的字段的配置信息。
在步驟S33之后還可增加步驟根據(jù)輸入的運(yùn)行指令將步驟S33中生成的 目標(biāo)系統(tǒng)代碼文件發(fā)送到服務(wù)器運(yùn)行并顯示,并在接收到重新編輯的指令時(shí)修 改第二XML文件。在修改配置后,重新生成代碼并預(yù)覽,如此反復(fù),直到滿意 為止。
此外,在上述方法的步驟S31之前還可包括一個(gè)選擇步驟(圖中未示出), 該步驟中提供一個(gè)操作界面以提供已有數(shù)據(jù)庫服務(wù)器列表、已有數(shù)據(jù)庫列表及己有數(shù)據(jù)庫表列表,以供用戶甩戶選擇特定服務(wù)器的特定數(shù)據(jù)庫中的數(shù)據(jù)庫 表。然后執(zhí)行步驟S31,對(duì)選擇的數(shù)據(jù)庫表進(jìn)行代碼創(chuàng)建。
本發(fā)明并不直接根據(jù)數(shù)據(jù)庫表生成目標(biāo)系統(tǒng)代碼文件,而是生成可編輯的
目標(biāo)系統(tǒng)代碼配置文件(即第二XML文件),實(shí)現(xiàn)了目標(biāo)系統(tǒng)代碼的多次自動(dòng) 生成,極大的提升了開發(fā)效率。
此外,本發(fā)明通過XML文件把列表控件,新增控件,修改控件的描述統(tǒng)一 起來,使得開發(fā)人員能簡(jiǎn)單的復(fù)制XML節(jié)點(diǎn)即能實(shí)現(xiàn)同一字段的不同操作。提 高了配置效率。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局 限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù) 范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種代碼自動(dòng)生成系統(tǒng),其特征在于,包括第一創(chuàng)建單元,用于根據(jù)選定的數(shù)據(jù)庫表創(chuàng)建第一XML文件,所述第一XML文件包括對(duì)所述數(shù)據(jù)庫表中的各個(gè)字段的描述;第二創(chuàng)建單元,用于根據(jù)所述第一XML文件創(chuàng)建第二XML文件,所述第二XML文件包括對(duì)所述數(shù)據(jù)庫表中各個(gè)字段在目標(biāo)系統(tǒng)中的配置信息;第三創(chuàng)建單元,用于根據(jù)所述第二XML文件創(chuàng)建目標(biāo)系統(tǒng)代碼文件。
2、 根據(jù)權(quán)利要求l所述的代碼自動(dòng)生成系統(tǒng),其特征在于,所述第一創(chuàng) 建單元包括第一修改單元,用于根據(jù)輸入的第一修改指令修改所述第一 XML 文件中對(duì)所述數(shù)據(jù)庫表中的字段的描述。
3、 根據(jù)權(quán)利要求l所述的代碼自動(dòng)生成系統(tǒng),其特征在于,所述配置信 息包括查詢頁的査詢控件、選擇語句、輸出表格的字段類別,修改頁的輸入 控件、更新語句,新增頁的輸入控件、更新語句。
4、 根據(jù)權(quán)利要求l所述的代碼自動(dòng)生成系統(tǒng),其特征在于,所述第二創(chuàng) 建單元包括第二修改單元,用于根據(jù)輸入的第二修改指令修改第二 XML文件中 的字段的配置信息。
5、 根據(jù)權(quán)利要求4所述的代碼自動(dòng)生成系統(tǒng),其特征在于,還包括模擬 運(yùn)行單元,用于根據(jù)輸入的運(yùn)行指令將所述目標(biāo)系統(tǒng)代碼文件發(fā)送到服務(wù)器運(yùn) 行并顯示,并在接收到重新編輯的指令時(shí)啟動(dòng)所述第二修改單元。
6、 一種代碼自動(dòng)生成方法,其特征在于,包括以下步驟(a) 根據(jù)選定的數(shù)據(jù)庫表創(chuàng)建第一XML文件,所述第一XML文件包括對(duì)所述數(shù)據(jù)庫表中的各個(gè)字段的描述;(b) 根據(jù)所述第一XML文件創(chuàng)建第二XML文件,所述第二XML文件包括對(duì)所述數(shù)據(jù)庫表中各個(gè)字段在目標(biāo)系統(tǒng)中的配置信息;(c) 根據(jù)所述第二XML文件創(chuàng)建目標(biāo)系統(tǒng)代碼文件。
7、 根據(jù)權(quán)利要求6所述的代碼自動(dòng)生成方法,其特征在于,所述步驟(a) 中包括根據(jù)輸入的第一修改指令修改所述第一 XML文件中對(duì)所述數(shù)據(jù)庫表中的字段的描述。
8、 根據(jù)權(quán)利要求6所述的代碼自動(dòng)生成方法,其特征在于,所述步驟(b)中的配置信息包括查詢頁的查詢控件、選擇語句、輸出表格的字段類別,修 改頁的輸入控件、更新語句,新增頁的輸入控件、更新語句。
9、 根據(jù)權(quán)利要求6所述的代碼自動(dòng)生成方法,其特征在于,所述步驟(b) 中包括(bl)根據(jù)輸入的第二修改指令修改第二XML文件中的字段的配置信息。
10、 根據(jù)權(quán)利要求6所述的代碼自動(dòng)生成方法,其特征在于,所述步驟(c)之后還包括根據(jù)輸入的運(yùn)行指令將所述目標(biāo)系統(tǒng)代碼文件發(fā)送到服務(wù)器運(yùn)行并顯示,并在接收到重新編輯的指令時(shí)返回步驟(bl)。
全文摘要
本發(fā)明涉及一種代碼自動(dòng)生成系統(tǒng),包括第一創(chuàng)建單元,用于根據(jù)選定的數(shù)據(jù)庫表創(chuàng)建第一XML文件,所述第一XML文件包括對(duì)所述數(shù)據(jù)庫表中的各個(gè)字段的描述;第二創(chuàng)建單元,用于根據(jù)所述第一XML文件創(chuàng)建第二XML文件,所述第二XML文件包括對(duì)所述數(shù)據(jù)庫表中各個(gè)字段在目標(biāo)系統(tǒng)中的配置信息;第三創(chuàng)建單元,用于根據(jù)所述第二XML文件創(chuàng)建目標(biāo)系統(tǒng)代碼文件。本發(fā)明還提供一種對(duì)應(yīng)的方法。本發(fā)明通過生成可多次修改的目標(biāo)系統(tǒng)代碼的配置文件,把半自動(dòng)化代碼生成提升到全自動(dòng)代碼生成,從而節(jié)省了開發(fā)人員的開發(fā)時(shí)間。
文檔編號(hào)G06F9/44GK101645010SQ20091010948
公開日2010年2月10日 申請(qǐng)日期2009年8月20日 優(yōu)先權(quán)日2009年8月20日
發(fā)明者亮 徐, 思 陳, 黃東喜 申請(qǐng)人:深圳市珍愛網(wǎng)信息技術(shù)有限公司