專利名稱:一種基于orm架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于對(duì)象關(guān)系映射(Object Relational Mapping,0RM)架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法及其裝置。
背景技術(shù):
目前,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法是企業(yè)級(jí)應(yīng)用開(kāi)發(fā)環(huán)境中的主流開(kāi)發(fā)方法,而關(guān)系型數(shù)據(jù)庫(kù)是企業(yè)級(jí)應(yīng)用中存放數(shù)據(jù)的主流數(shù)據(jù)存儲(chǔ)方式,因此在開(kāi)發(fā)過(guò)程中,一些業(yè)務(wù)邏輯常常需要直接調(diào)用結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language, SQL)語(yǔ)句來(lái)實(shí)現(xiàn),但這樣開(kāi)發(fā)的缺點(diǎn)是,到處是SQL語(yǔ)句,開(kāi)發(fā)效率很低、出錯(cuò)率很高、程序易維護(hù)性、可擴(kuò)展性很差等缺點(diǎn)。
為了提高項(xiàng)目的靈活性,提高開(kāi)發(fā)效率,ORM是ー個(gè)很好的選擇,當(dāng)數(shù)據(jù)庫(kù)模型改變時(shí),不再需要關(guān)注邏輯代碼和SQL語(yǔ)句中涉及到該模型的所有改動(dòng),甚至不做改動(dòng)就可以滿足要求。但是,已有ORM概念的系統(tǒng)的開(kāi)源框架大多存在以下缺點(diǎn)一、有些功能很強(qiáng)大,但結(jié)構(gòu)復(fù)雜,不易于程序的移植和代碼的復(fù)用,増加了學(xué)習(xí)使用的成本;ニ、有些結(jié)構(gòu)簡(jiǎn)單,但功能又比較弱,對(duì)結(jié)構(gòu)的分層不明確,既不利于代碼的自動(dòng)生成,又不利于分エ協(xié)作,因此,開(kāi)發(fā)效率低;三、有些系統(tǒng)ORM使用不當(dāng),會(huì)造成執(zhí)行效率的下降,因?yàn)镺RM事實(shí)上是通過(guò)存儲(chǔ)空間的犧牲來(lái)?yè)Q取大量數(shù)據(jù)庫(kù)訪問(wèn)性能的提升,如果空間使用不當(dāng)也會(huì)造成性能的下降。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法及裝置,能更好的解決面向?qū)ο蟮某绦蛟O(shè)計(jì)方法與關(guān)系數(shù)據(jù)庫(kù)在開(kāi)發(fā)過(guò)程中互不融合的技術(shù)問(wèn)題。根據(jù)本發(fā)明的ー個(gè)方面,本發(fā)明提供的一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法包括A)代碼生成器模塊根據(jù)數(shù)據(jù)庫(kù)表,生成數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體代碼;B) ORM模塊根據(jù)所述數(shù)據(jù)實(shí)體代碼,建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系;C)數(shù)據(jù)訪問(wèn)模塊利用所述映射關(guān)系,訪問(wèn)用戶請(qǐng)求的數(shù)據(jù)庫(kù)。所述步驟A)包括代碼生成器模塊根據(jù)用戶通過(guò)界面展現(xiàn)模塊輸入的請(qǐng)求,選擇要自動(dòng)生成代碼的數(shù)據(jù)庫(kù)表;代碼生成器模塊選擇要生成代碼的類(lèi),循環(huán)遍歷所述數(shù)據(jù)庫(kù)表的每個(gè)字段,將數(shù)據(jù)庫(kù)表的每個(gè)字段和類(lèi)的規(guī)則進(jìn)行分析處理,并逐行生成包括數(shù)據(jù)實(shí)體代碼和數(shù)據(jù)規(guī)則代碼的類(lèi)代碼;代碼生成器模塊將所述數(shù)據(jù)實(shí)體代碼和數(shù)據(jù)規(guī)則代碼分別保存至數(shù)據(jù)實(shí)體模塊和數(shù)據(jù)規(guī)則模塊中。所述分析包括對(duì)當(dāng)前字段和類(lèi)規(guī)則進(jìn)行的詞法分析、括號(hào)匹配算法分析、標(biāo)志符點(diǎn)位分析、變量定義算法分析、類(lèi)結(jié)構(gòu)算法分析。執(zhí)行所述步驟A前還包括代碼生成器模塊監(jiān)測(cè)數(shù)據(jù)庫(kù),并在監(jiān)測(cè)到數(shù)據(jù)庫(kù)表存在改動(dòng)時(shí),通過(guò)界面展現(xiàn)模塊通知用戶。所述步驟B)中實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系包括實(shí)體和數(shù)據(jù)庫(kù)之間的映射關(guān)系、實(shí)體字段和數(shù)據(jù)庫(kù)表字段之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的一個(gè)屬性字段時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的一個(gè)集合屬性時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系。
所述步驟B)還包括ORM模塊分析實(shí)體數(shù)據(jù),獲取并緩存實(shí)體信息;根據(jù)所述實(shí)體信息,得到用于生成SQL語(yǔ)句的組件;分析數(shù)據(jù)庫(kù)的SQL語(yǔ)法,并利用分析結(jié)果,通過(guò)所述組件將實(shí)體數(shù)據(jù)和映射關(guān)系拼接成需要的SQL語(yǔ)句,以供數(shù)據(jù)庫(kù)操作。所述步驟C)包括數(shù)據(jù)訪問(wèn)模塊建立數(shù)據(jù)訪問(wèn)資源池,并從所述數(shù)據(jù)訪問(wèn)資源池中取出用于訪問(wèn)數(shù)據(jù)庫(kù)的連接資源;數(shù)據(jù)訪問(wèn)模塊定義基類(lèi)接口函數(shù),并得到用于訪問(wèn)數(shù)據(jù)庫(kù)的所述基類(lèi)接口函數(shù)的派生類(lèi)接口函數(shù);數(shù)據(jù)訪問(wèn)模塊利用所述連接資源,通過(guò)所述派生類(lèi)接口函數(shù)訪問(wèn)數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。所述派生類(lèi)接口函數(shù)包括Oracle數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、MS SQL Server數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、DB2數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、Sybase數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、mysql數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)。 執(zhí)行所述步驟C)前還包括業(yè)務(wù)功能模塊根據(jù)來(lái)自界面展現(xiàn)模塊的用戶請(qǐng)求,向業(yè)務(wù)流程模塊提供多個(gè)基本業(yè)務(wù)功能;業(yè)務(wù)流程模塊將所述多個(gè)基本業(yè)務(wù)功能進(jìn)行合成,形成一個(gè)完整的業(yè)務(wù)流,以便進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。根據(jù)本發(fā)明的另一個(gè)方面,本發(fā)明提供的一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)裝置包括代碼生成器模塊,用于根據(jù)數(shù)據(jù)庫(kù)表,生成數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體代碼;ORM模塊,用于根據(jù)所述數(shù)據(jù)實(shí)體代碼,建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系;數(shù)據(jù)訪問(wèn)模塊,用于利用所述映射關(guān)系,訪問(wèn)用戶請(qǐng)求的數(shù)據(jù)庫(kù)。所述實(shí)現(xiàn)裝置還包括界面展現(xiàn)模塊,用于接收用戶輸入的請(qǐng)求;數(shù)據(jù)實(shí)體模塊,用于保存數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體的代碼;
數(shù)據(jù)規(guī)則模塊,用于保存數(shù)據(jù)庫(kù)表的數(shù)據(jù)規(guī)則的代碼。所述實(shí)現(xiàn)裝置還包括業(yè)務(wù)功能模塊,根據(jù)來(lái)自界面展現(xiàn)模塊的用戶請(qǐng)求,向業(yè)務(wù)流程模塊提供多個(gè)基本業(yè)務(wù)功能;業(yè)務(wù)流程模塊,用于將所述多個(gè)基本業(yè)務(wù)功能進(jìn)行合成,形成一個(gè)完整的業(yè)務(wù)流。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于I、本發(fā)明解決了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法與關(guān)系數(shù)據(jù)庫(kù)在開(kāi)發(fā)過(guò)程中互不融合的問(wèn)題,實(shí)現(xiàn)了通過(guò)不同開(kāi)發(fā)語(yǔ)言如C#、Java, C++、VB、Delphi等等,對(duì)不同的數(shù)據(jù)庫(kù)如Oracle> MS SQL Server、DB2、Sybase、Access 等等進(jìn)行高效的訪問(wèn);
2、本發(fā)明通過(guò)采用有效的分層架構(gòu)設(shè)計(jì),以面向?qū)ο蟮姆绞皆诟鲗又g傳遞業(yè)務(wù)數(shù)據(jù),提高了程序的可維護(hù)性和可擴(kuò)展性,并且各層之間分エ明確,便于敏捷開(kāi)發(fā)和多人合作開(kāi)發(fā);3、本發(fā)明通過(guò)自動(dòng)生成大部分SQL語(yǔ)句和實(shí)體類(lèi)組件,減輕了應(yīng)用開(kāi)發(fā)人員的負(fù)荷,使其把更多的精力投入到視圖層設(shè)計(jì)和系統(tǒng)業(yè)務(wù)邏輯功能實(shí)現(xiàn)等上來(lái)。
圖I是本發(fā)明實(shí)施例的一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法流程圖;圖2是本發(fā)明實(shí)施例的一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)裝置結(jié)構(gòu)示意圖;圖3是圖2所示代碼生成器模塊工作流程圖;圖4是圖2所示ORM模塊工作流程圖;圖5是圖2所示數(shù)據(jù)訪問(wèn)模塊工作流程圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說(shuō)明,應(yīng)當(dāng)理解,以下所說(shuō)明的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限制本發(fā)明。圖I顯示了本發(fā)明實(shí)施例的一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法流程圖,如圖I所示,步驟包括步驟101 :代碼生成器模塊根據(jù)數(shù)據(jù)庫(kù)表,生成數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體代碼;步驟102 :對(duì)象關(guān)系映射(Object Relational Mapping, 0RM)模塊根據(jù)所述數(shù)據(jù)實(shí)體代碼,建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系;步驟103 :數(shù)據(jù)訪問(wèn)模塊利用所述映射關(guān)系,訪問(wèn)用戶請(qǐng)求的數(shù)據(jù)庫(kù)。上述步驟101包括代碼生成器模塊根據(jù)用戶通過(guò)界面展現(xiàn)模塊輸入的請(qǐng)求,選擇要自動(dòng)生成代碼的數(shù)據(jù)庫(kù)表;代碼生成器模塊選擇要生成代碼的類(lèi),循環(huán)遍歷所述數(shù)據(jù)庫(kù)表的每個(gè)字段,將數(shù)據(jù)庫(kù)表的每個(gè)字段和類(lèi)的規(guī)則進(jìn)行分析處理,并逐行生成包括數(shù)據(jù)實(shí)體代碼和數(shù)據(jù)規(guī)則代碼的類(lèi)代碼;代碼生成器模塊將所述數(shù)據(jù)實(shí)體代碼和數(shù)據(jù)規(guī)則代碼分別保存至數(shù)據(jù)實(shí)體模塊和數(shù)據(jù)規(guī)則模塊中。也就是說(shuō),代碼生成器模塊生成數(shù)據(jù)實(shí)體代碼外,還可以生成數(shù)據(jù)規(guī)則代碼、存儲(chǔ)過(guò)程代碼、觸發(fā)器代碼、數(shù)據(jù)庫(kù)結(jié)構(gòu)文檔代碼、SQL腳本代碼等等,用于幫助開(kāi)發(fā)人員快速映射到數(shù)據(jù)庫(kù)中的業(yè)務(wù)數(shù)據(jù)模型,實(shí)現(xiàn)快速開(kāi)發(fā)。隨著程序規(guī)模和業(yè)務(wù)的擴(kuò)展,保存在數(shù)據(jù)實(shí)體模塊和數(shù)據(jù)規(guī)則模塊中的代碼將會(huì)不斷擴(kuò)展,有效降低開(kāi)發(fā)人員的開(kāi)發(fā)工作量,保證代碼的質(zhì)量。上述步驟101還包括代碼生成器模塊監(jiān)測(cè)數(shù)據(jù)庫(kù),當(dāng)監(jiān)測(cè)到數(shù)據(jù)庫(kù)表存在改動(dòng)時(shí),通過(guò)界面展現(xiàn)模塊通知用戶,提醒開(kāi)發(fā)人員是否生成相應(yīng)的代碼。上述步驟102還包括0RM模塊分析實(shí)體數(shù)據(jù),獲取并緩存實(shí)體信息;根據(jù)所述實(shí)體信息,得到用于生成SQL語(yǔ)句的組件;分析數(shù)據(jù)庫(kù)的SQL語(yǔ)法,并利用分析結(jié)果,通過(guò)所述組件將實(shí)體數(shù)據(jù)和映射關(guān)系拼接成需要的SQL語(yǔ)句,以供數(shù)據(jù)庫(kù)操作。也就是說(shuō),ORM模塊用對(duì)象的形式表示數(shù)據(jù)庫(kù)中的數(shù)據(jù),并通過(guò)面向?qū)ο蟮姆绞綄⑦@些對(duì)象組織起來(lái),自動(dòng)生成具有增加、刪除、修改、查找等功能的SQL語(yǔ)句,以便對(duì)不同類(lèi)型的數(shù)據(jù)庫(kù)進(jìn)行操作。其中,所述分析包括對(duì)當(dāng)前字段和類(lèi)規(guī)則進(jìn)行的詞法分析、括號(hào)匹配算法分析、標(biāo)志符點(diǎn)位分析、變量定義算法分析、類(lèi)結(jié)構(gòu)算法分析。上述步驟102中的實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系包括實(shí)體和數(shù)據(jù)庫(kù)之間的映射關(guān)系、實(shí)體字段和數(shù)據(jù)庫(kù)表字段之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的一·個(gè)屬性字段時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的一個(gè)集合屬性時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系。上述步驟103包括數(shù)據(jù)訪問(wèn)模塊建立數(shù)據(jù)訪問(wèn)資源池,并從所述數(shù)據(jù)訪問(wèn)資源池中取出用于訪問(wèn)數(shù)據(jù)庫(kù)的連接資源;數(shù)據(jù)訪問(wèn)模塊定義基類(lèi)接口函數(shù),并得到用于訪問(wèn)數(shù)據(jù)庫(kù)的所述基類(lèi)接口函數(shù)的派生類(lèi)接口函數(shù);數(shù)據(jù)訪問(wèn)模塊利用所述連接資源,通過(guò)所述派生類(lèi)接口函數(shù)訪問(wèn)數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。也就是說(shuō),數(shù)據(jù)訪問(wèn)模塊建立與數(shù)據(jù)的連接,以數(shù)據(jù)工廠的方式定義基類(lèi)接口函數(shù),并使用派生類(lèi)接口函數(shù)實(shí)現(xiàn)對(duì)各種數(shù)據(jù)庫(kù)的訪問(wèn)。所述派生類(lèi)接口函數(shù)包括Oracle數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、MS SQL Server數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、DB2數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、Sybase數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)、mysql數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接口函數(shù)。所述數(shù)據(jù)庫(kù)為關(guān)系數(shù)據(jù)庫(kù),例如Oracle、Mysql、Access、Db2、MS SQL Server>Sybase 等。圖2顯示了本發(fā)明提供的一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)裝置結(jié)構(gòu)示意圖,如圖2所示,包括代碼生成器模塊d,用于根據(jù)數(shù)據(jù)庫(kù)表,生成數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體代碼。換句話說(shuō),所述代碼生成器模塊d從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)模型信息,并生成數(shù)據(jù)實(shí)體代碼,幫助開(kāi)發(fā)人員快速映射數(shù)據(jù)庫(kù)中的業(yè)務(wù)數(shù)據(jù)模型,最優(yōu)化快速開(kāi)發(fā),由于隨著程序規(guī)模和業(yè)務(wù)的擴(kuò)展,數(shù)據(jù)規(guī)則模塊e和數(shù)據(jù)實(shí)體模塊f中的代碼會(huì)不斷的擴(kuò)展,代碼生成器d自動(dòng)生成了這部分代碼,有效的解決了開(kāi)發(fā)人員的工作量問(wèn)題,并保證了代碼質(zhì)量。進(jìn)一步地,所述代碼生成器模塊d還用于生成數(shù)據(jù)實(shí)體代碼、存儲(chǔ)過(guò)程的代碼、觸發(fā)器的代碼、數(shù)據(jù)庫(kù)結(jié)構(gòu)文檔的代碼、SQL腳本的代碼等等。ORM模塊h,用于根據(jù)所述數(shù)據(jù)實(shí)體代碼,建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系。換句話說(shuō),所述ORM模塊h建立了實(shí)體和數(shù)據(jù)庫(kù)之間的映射關(guān)系、實(shí)體字段和數(shù)據(jù)庫(kù)表字段之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的一個(gè)屬性字段時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的一個(gè)集合屬性時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系。進(jìn)一步地,所述ORM模塊h分析實(shí)體數(shù)據(jù),獲取并緩存實(shí)體信息;根據(jù)所述實(shí)體信息,得到用于生成SQL語(yǔ)句的組件;分析數(shù)據(jù)庫(kù)的SQL語(yǔ)法,并利用分析結(jié)果,通過(guò)所述組件將實(shí)體數(shù)據(jù)和映射關(guān)系拼接成需要的SQL語(yǔ)句,以供數(shù)據(jù)庫(kù)操作。也就是說(shuō),所述ORM模塊h用于負(fù)責(zé)將數(shù)據(jù)庫(kù)中的業(yè)務(wù)數(shù)據(jù)用對(duì)象的形式表示出來(lái),并通過(guò)面向?qū)ο?Object-Oriented)的方式將這些對(duì)象組織起來(lái),自動(dòng)生成SQL各種語(yǔ)句(如増加、刪除、修改、查找),實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)邏輯的過(guò)程,同時(shí)定義一些用于訪問(wèn)數(shù)據(jù)庫(kù)的接ロ基類(lèi)。數(shù)據(jù)訪問(wèn)模塊g,用于利用所述映射關(guān)系,訪問(wèn)用戶請(qǐng)求的數(shù)據(jù)庫(kù)。換句話說(shuō),所述數(shù)據(jù)訪問(wèn)模塊g用于從數(shù)據(jù)庫(kù)中存取資源。進(jìn)ー步地,所述數(shù)據(jù)訪問(wèn)模塊g建立數(shù)據(jù)訪問(wèn)資源池,并從所述數(shù)據(jù)訪問(wèn)資源池中取出用于訪問(wèn)數(shù)據(jù)庫(kù)的連接資源;數(shù)據(jù)訪問(wèn)模塊g定義基類(lèi)接ロ函數(shù),并得到用于訪問(wèn)數(shù)據(jù)庫(kù)的所述基類(lèi)接ロ函數(shù)的派生類(lèi)接ロ函數(shù);數(shù)據(jù)訪問(wèn)模塊g利用所述連接資源,通過(guò)所述派生類(lèi)接ロ函數(shù)訪問(wèn)數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。進(jìn)ー步地,所述數(shù)據(jù)訪問(wèn)模塊g以數(shù)據(jù)エ廠的方式向數(shù)據(jù)規(guī)則模塊e屏蔽所有的SQL語(yǔ)句以及數(shù)據(jù)庫(kù)類(lèi)型差異,提供數(shù)據(jù)訪問(wèn)資源池(Data Access Pool)等。本發(fā)明創(chuàng)新點(diǎn)體現(xiàn)在代碼生成器模塊d、數(shù)據(jù)訪問(wèn)模塊g和ORM模塊h,其中 與現(xiàn)有的代碼生成器相比,本發(fā)明所述代碼生成器模塊d具有以下創(chuàng)新點(diǎn)I、所述代碼生成器模塊d能根據(jù)具體業(yè)務(wù)生成基于數(shù)據(jù)規(guī)則的數(shù)據(jù)規(guī)則代碼和基于數(shù)據(jù)實(shí)體的數(shù)據(jù)實(shí)體代碼;2、所述代碼生成器模塊d能將生成的代碼生成源文件直接嵌入到開(kāi)發(fā)工具指定的程序中,做到一步到位;3、所述代碼生成器模塊d有ー個(gè)監(jiān)視線程不斷的監(jiān)視指定的數(shù)據(jù)庫(kù),并在數(shù)據(jù)庫(kù)的表結(jié)構(gòu)、字段、字段類(lèi)型等有改動(dòng)時(shí),能自動(dòng)提醒開(kāi)發(fā)人員是否要將新生成的代碼生成源文件直接嵌入到開(kāi)發(fā)工具指定的程序;4、所述代碼生成器模塊d能夠根據(jù)登陸人信息,時(shí)間,數(shù)據(jù)庫(kù)類(lèi)型等自動(dòng)生成代碼文件的注釋信息。與現(xiàn)有的ORM模塊相比,本發(fā)明所述ORM模塊h的創(chuàng)新點(diǎn)在于I、所述ORM模塊h能夠根據(jù)數(shù)據(jù)實(shí)體模塊f傳入的實(shí)體數(shù)據(jù)和數(shù)據(jù)規(guī)則,以反射的機(jī)制與數(shù)據(jù)庫(kù)映射,自動(dòng)高效的生成SQL語(yǔ)句,并把SQL語(yǔ)句傳入數(shù)據(jù)庫(kù)執(zhí)行;2、所述ORM模塊h能夠針對(duì)不同的數(shù)據(jù)庫(kù)如0racle、MS SQL Server>DB2>Sybase>Access等等,高效的生成各自的SQL語(yǔ)句。與現(xiàn)有的數(shù)據(jù)訪問(wèn)模塊相比,本發(fā)明所述數(shù)據(jù)訪問(wèn)模塊g的創(chuàng)新點(diǎn)在于I、所述數(shù)據(jù)訪問(wèn)模塊g以數(shù)據(jù)エ廠的方式定義基類(lèi)接ロ函數(shù),并使用其派生類(lèi)接ロ函數(shù)實(shí)現(xiàn)對(duì)各種數(shù)據(jù)庫(kù)的訪問(wèn);2、所述數(shù)據(jù)訪問(wèn)模塊g定義了一個(gè)數(shù)據(jù)訪問(wèn)資源池(Data Access Pool),進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)時(shí),毎次向數(shù)據(jù)訪問(wèn)資源池申請(qǐng)一定數(shù)量的連接資源,并得到其中ー個(gè)連接,用完后歸還所述的連接資源;3、所述數(shù)據(jù)訪問(wèn)模塊g對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)采用鎖定和釋放等機(jī)制,保證對(duì)數(shù)據(jù)庫(kù)更新、保存、刪除,查找不會(huì)出現(xiàn)互斥和資源不夠等現(xiàn)象。所述實(shí)現(xiàn)裝置還包括界面展現(xiàn)模塊a,用于接收用戶輸入的請(qǐng)求,還用于向用戶端提供應(yīng)用程序的訪問(wèn)、返回?cái)?shù)據(jù)等。其數(shù)據(jù)采集的結(jié)果以實(shí)體對(duì)象(Entity object)提交給業(yè)務(wù)邏輯層處理。
數(shù)據(jù)實(shí)體模塊f,用于保存數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體的代碼。所述數(shù)據(jù)實(shí)體模塊f還用于承載業(yè)務(wù)數(shù)據(jù),是實(shí)際業(yè)務(wù)數(shù)據(jù)的載體,包含業(yè)務(wù)數(shù)據(jù)模型的單元描述,可以直接由數(shù)據(jù)庫(kù)中的某張表或視圖生成,也可以根據(jù)需要手工創(chuàng)建。數(shù)據(jù)規(guī)則模塊e,用于保存數(shù)據(jù)庫(kù)表的數(shù)據(jù)規(guī)則的代碼。所述數(shù)據(jù)規(guī)則模塊e還用于實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的增加、刪除、修改、查詢接口,并向業(yè)務(wù)功能模塊b或業(yè)務(wù)流程模塊c返回結(jié)果。本發(fā)明創(chuàng)新點(diǎn)還體現(xiàn)在數(shù)據(jù)實(shí)體模塊f和數(shù)據(jù)規(guī)則模塊e上,其中
與現(xiàn)有的數(shù)據(jù)實(shí)體模塊相比,本發(fā)明所述數(shù)據(jù)實(shí)體模塊f的創(chuàng)新點(diǎn)在于I、所述數(shù)據(jù)實(shí)體模塊f的所有代碼都可以由代碼生成器模塊d自動(dòng)生成;2、所述數(shù)據(jù)實(shí)體模塊f中各類(lèi)與數(shù)據(jù)庫(kù)表--對(duì)應(yīng),能把取值以實(shí)體對(duì)象的方式
傳送到ORM模塊h中,以便進(jìn)行映射。與現(xiàn)有的數(shù)據(jù)規(guī)則模塊相比,本發(fā)明所述數(shù)據(jù)規(guī)則模塊e具有以下創(chuàng)新點(diǎn)I、所述數(shù)據(jù)規(guī)則模塊e的大部分代碼能夠通過(guò)代碼生器模塊d自動(dòng)生成,例如增力口、刪除、修改接口的代碼;2、所述數(shù)據(jù)規(guī)則模塊e中各類(lèi)與數(shù)據(jù)庫(kù)表一一對(duì)應(yīng),容易移植,結(jié)構(gòu)清晰。所述實(shí)現(xiàn)裝置還包括業(yè)務(wù)功能模塊b,根據(jù)來(lái)自界面展現(xiàn)模塊a的用戶請(qǐng)求,向業(yè)務(wù)流程模塊提供多個(gè)基本業(yè)務(wù)功能。也就是說(shuō),所述業(yè)務(wù)功能模塊b用于負(fù)責(zé)基本業(yè)務(wù)功能的實(shí)現(xiàn),例如根據(jù)界面展現(xiàn)模塊a發(fā)送的用戶請(qǐng)求實(shí)現(xiàn)各種情況的處理、各種算法的實(shí)現(xiàn)、并向業(yè)務(wù)流程模塊提供數(shù)據(jù)C、界面展現(xiàn)模塊a提供數(shù)據(jù)等。業(yè)務(wù)流程模塊C,用于將所述多個(gè)基本業(yè)務(wù)功能進(jìn)行合成,形成一個(gè)完整的業(yè)務(wù)流,例如工作流等。本發(fā)明采用三層架構(gòu),包括表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層。其中,所述界面展現(xiàn)模塊a屬于表示層,所述業(yè)務(wù)功能模塊b、所述業(yè)務(wù)流程模塊C、所述代碼生成器模塊d屬于業(yè)務(wù)邏輯層,所述數(shù)據(jù)規(guī)則模塊e、所述數(shù)據(jù)實(shí)體模塊f、所述數(shù)據(jù)訪問(wèn)模塊g、所述ORM模塊h屬于數(shù)據(jù)訪問(wèn)層。所述三層架構(gòu)有利于降低各層之間的依賴,使開(kāi)發(fā)人員可以只關(guān)注
其中某一層。圖3顯示了圖2所示代碼生成器模塊工作流程圖,如圖3所示,步驟包括步驟302 :用戶通過(guò)客戶端界面輸入服務(wù)器IP、數(shù)據(jù)庫(kù)類(lèi)型、服務(wù)器類(lèi)型、用戶名、密碼后,與數(shù)據(jù)庫(kù)服務(wù)器建立連接,加載數(shù)據(jù)庫(kù)名,并選擇數(shù)據(jù)庫(kù),登陸所選擇的數(shù)據(jù)庫(kù);步驟304 :加載所選數(shù)據(jù)庫(kù)的所有表,選擇要自動(dòng)生成代碼的表;步驟306 :讀取所選擇的表信息,如字段,表空間,主鍵等,并選擇要生成代碼的類(lèi)型;步驟308 :循環(huán)遍歷所選擇表的各字段,并判斷是否全部遍歷,如果是,則執(zhí)行步驟318,否則,執(zhí)行步驟310 ;步驟310 :讀取數(shù)據(jù)庫(kù)當(dāng)前選擇表的字段信息,如字段名、類(lèi)型、長(zhǎng)度等;步驟312 :生成類(lèi)的說(shuō)明文件信息,如空間名等;步驟314 :對(duì)當(dāng)前數(shù)據(jù)庫(kù)表的字段和類(lèi)的規(guī)則進(jìn)行詞法分析、括號(hào)匹配算法分析、標(biāo)志符點(diǎn)位分析、變量定義算法分析、類(lèi)結(jié)構(gòu)算法分析等分析處理;
步驟316 :以追加的方式逐行生成包括數(shù)據(jù)實(shí)體代碼和數(shù)據(jù)規(guī)則代碼的類(lèi)代碼,并根據(jù)語(yǔ)法進(jìn)行著色、縮進(jìn)等處理;步驟318 :將以上生成的源代碼在界面展現(xiàn)模塊上顯示出來(lái),井生成文本文件存到電腦硬盤(pán)指定位置。圖4顯示了圖2所示ORM模塊工作流程圖,如圖4所示,步驟包括步驟402 =ORM模塊建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系,即ORM模塊描述實(shí)體和數(shù)據(jù)庫(kù)之間的映射關(guān)系、描述實(shí)體字段和數(shù)據(jù)庫(kù)表字段之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的ー個(gè)屬性字段時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系、某個(gè)實(shí)體作為另外ー個(gè)實(shí)體的ー個(gè)集合屬性時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系;步驟404 =ORM模塊的實(shí)體分析器分析實(shí)體數(shù)據(jù),獲取并緩存實(shí)體信息,即所述實(shí)體分析器對(duì)實(shí)體對(duì)象進(jìn)行必要的數(shù)據(jù)分析,獲得實(shí)體對(duì)象的各種信息并緩存,以便在后續(xù)的工作中直接提取數(shù)據(jù);步驟406 0RM模塊的ORM引擎根據(jù)所述實(shí)體信息,得到用于生成SQL語(yǔ)句的組件,即所述ORM引擎實(shí)現(xiàn)用于自動(dòng)生成SQL語(yǔ)句(如増加、刪除、修改、查詢等功能)的組件;步驟408 :0RM模塊的SQL語(yǔ)句分析組件分析數(shù)據(jù)庫(kù)的SQL語(yǔ)法,并利用分析結(jié)果,通過(guò)步驟406中所述的組件將實(shí)體數(shù)據(jù)和映射關(guān)系拼接成需要的SQL語(yǔ)句,即所述SQL語(yǔ) 句分析組件對(duì)不同數(shù)據(jù)庫(kù)的SQL語(yǔ)法進(jìn)行分析,通過(guò)對(duì)SQL語(yǔ)句分析,把實(shí)體對(duì)象和關(guān)系拼接成需要的SQL語(yǔ)句,為ORM引擎服務(wù);步驟410 :0RM模塊的數(shù)據(jù)庫(kù)操作庫(kù)通過(guò)調(diào)用ADO. net、ODBC、JDBC、Source Pro等工具所提供的數(shù)據(jù)庫(kù)訪問(wèn)接ロ,將SQL語(yǔ)句傳入數(shù)據(jù)庫(kù),以便對(duì)不同類(lèi)型數(shù)據(jù)庫(kù)進(jìn)行操作。圖5顯示了圖2所示數(shù)據(jù)訪問(wèn)模塊工作流程圖,如圖5所示,步驟包括步驟502 :數(shù)據(jù)訪問(wèn)模塊的數(shù)據(jù)訪問(wèn)エ廠獲取數(shù)據(jù)庫(kù)連接字符串,并解密,建立與數(shù)據(jù)庫(kù)的聯(lián)系;實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)資源池,并從所述數(shù)據(jù)訪問(wèn)資源池中取出或釋放連接資源;向ORM模塊返回?cái)?shù)據(jù)庫(kù)連接對(duì)象,如MS SQL Server對(duì)象、Oracle對(duì)象,DB2對(duì)象等等;步驟504 :數(shù)據(jù)訪問(wèn)模塊的數(shù)據(jù)庫(kù)資源池組件實(shí)現(xiàn)對(duì)數(shù)據(jù)訪問(wèn)資源的驗(yàn)證、創(chuàng)建、取得或歸還資源對(duì)象、垃圾回收、鎖定,解鎖等功能;步驟506 :數(shù)據(jù)訪問(wèn)模塊實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的基類(lèi)接ロ函數(shù)的定義;步驟508 :實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接ロ函數(shù),并通過(guò)所述具體接ロ函數(shù)訪問(wèn)Oracle數(shù)據(jù)庫(kù);步驟510:實(shí)現(xiàn)MS SQL Server數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接ロ函數(shù),并通過(guò)所述具體接ロ函數(shù)訪問(wèn)MS SQL Server數(shù)據(jù)庫(kù);步驟512 :實(shí)現(xiàn)DB2數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接ロ函數(shù),并通過(guò)所述具體接ロ函數(shù)訪問(wèn)DB2數(shù)據(jù)庫(kù);步驟514 :實(shí)現(xiàn)Sybase數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接ロ函數(shù),并通過(guò)所述具體接ロ函數(shù)訪問(wèn)Sybase數(shù)據(jù)庫(kù);步驟516 :實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)具體接ロ函數(shù),并通過(guò)所述具體接ロ函數(shù)訪問(wèn)mysql數(shù)據(jù)庫(kù)。用戶通過(guò)本發(fā)明所述裝置訪問(wèn)某ー個(gè)數(shù)據(jù)庫(kù)時(shí),可以利用其需要訪問(wèn)的數(shù)據(jù)庫(kù)的具體接ロ函數(shù)訪問(wèn)所述數(shù)據(jù)庫(kù),即步驟508至步驟516所述的任意一歩。
綜上所述,本發(fā)明的技術(shù)效果在于I、本發(fā)明把一些有規(guī)則的模塊獨(dú)立出來(lái),使大量SQL代碼可以完全由代碼生成器生成自動(dòng),不僅保證了程序的質(zhì)量,還極大的提高了開(kāi)發(fā)的效率;2、本發(fā)明通過(guò)采用ORM機(jī)制,各層之間通過(guò)面向?qū)ο蟮姆绞絺鬟f業(yè)務(wù)數(shù)據(jù),使程序很容易修改,不存在一處改動(dòng)影響全局的問(wèn)題,易維護(hù)性強(qiáng);3、本發(fā)明各模塊之間分工明確,易于移植,即使換了項(xiàng)目,底層代碼可以公用。盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,但是本發(fā)明不限于此,本技術(shù)領(lǐng)域技術(shù)人員 可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法,其特征在于,包括 A)代碼生成器模塊根據(jù)數(shù)據(jù)庫(kù)表,生成數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體代碼; B)對(duì)象關(guān)系映射(ObjectRelational Mapping,0RM)模塊根據(jù)所述數(shù)據(jù)實(shí)體代碼,建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系; C)數(shù)據(jù)訪問(wèn)模塊利用所述映射關(guān)系,訪問(wèn)用戶請(qǐng)求的數(shù)據(jù)庫(kù)。
2.根據(jù)權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于,所述步驟A)包括 代碼生成器模塊根據(jù)用戶通過(guò)界面展現(xiàn)模塊輸入的請(qǐng)求,選擇要自動(dòng)生成代碼的數(shù)據(jù)庫(kù)表; 代碼生成器模塊選擇要生成代碼的類(lèi),循環(huán)遍歷所述數(shù)據(jù)庫(kù)表的每個(gè)字段,將數(shù)據(jù)庫(kù)表的每個(gè)字段和類(lèi)的規(guī)則進(jìn)行分析處理,并逐行生成包括數(shù)據(jù)實(shí)體代碼和數(shù)據(jù)規(guī)則代碼的類(lèi)代碼; 代碼生成器模塊將所述數(shù)據(jù)實(shí)體代碼和數(shù)據(jù)規(guī)則代碼分別保存至數(shù)據(jù)實(shí)體模塊和數(shù)據(jù)規(guī)則模塊中。
3.根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)方法,其特征在于,執(zhí)行所述步驟A前還包括 代碼生成器模塊監(jiān)測(cè)數(shù)據(jù)庫(kù),并在監(jiān)測(cè)到數(shù)據(jù)庫(kù)表存在改動(dòng)時(shí),通過(guò)界面展現(xiàn)模塊通知用戶。
4.根據(jù)權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于,所述步驟B)中實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系包括 實(shí)體和數(shù)據(jù)庫(kù)之間的映射關(guān)系、實(shí)體字段和數(shù)據(jù)庫(kù)表字段之間的映射關(guān)系、某個(gè)實(shí)體作為另外一個(gè)實(shí)體的ー個(gè)屬性字段時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系、某個(gè)實(shí)體作為另外ー個(gè)實(shí)體的ー個(gè)集合屬性時(shí)與數(shù)據(jù)庫(kù)表之間的映射關(guān)系。
5.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)方法,其特征在于,所述步驟B)還包括 ORM模塊分析實(shí)體數(shù)據(jù),獲取并緩存實(shí)體信息; 根據(jù)所述實(shí)體信息,得到用于生成SQL語(yǔ)句的組件; 分析數(shù)據(jù)庫(kù)的SQL語(yǔ)法,并利用分析結(jié)果,通過(guò)所述組件將實(shí)體數(shù)據(jù)和映射關(guān)系拼接成需要的SQL語(yǔ)句,以供數(shù)據(jù)庫(kù)操作。
6.根據(jù)權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于,所述步驟C)包括 數(shù)據(jù)訪問(wèn)模塊建立數(shù)據(jù)訪問(wèn)資源池,并從所述數(shù)據(jù)訪問(wèn)資源池中取出用于訪問(wèn)數(shù)據(jù)庫(kù)的連接資源; 數(shù)據(jù)訪問(wèn)模塊定義基類(lèi)接ロ函數(shù),并得到用于訪問(wèn)數(shù)據(jù)庫(kù)的所述基類(lèi)接ロ函數(shù)的派生類(lèi)接ロ函數(shù); 數(shù)據(jù)訪問(wèn)模塊利用所述連接資源,通過(guò)所述派生類(lèi)接ロ函數(shù)訪問(wèn)數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。
7.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)方法,其特征在于,執(zhí)行所述步驟C)前還包括 業(yè)務(wù)功能模塊根據(jù)來(lái)自界面展現(xiàn)模塊的用戶請(qǐng)求,向業(yè)務(wù)流程模塊提供多個(gè)基本業(yè)務(wù)功能; 業(yè)務(wù)流程模塊將所述多個(gè)基本業(yè)務(wù)功能進(jìn)行合成,形成一個(gè)完整的業(yè)務(wù)流,以便進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。
8.一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)裝置,其特征在于,包括代碼生成器模塊,用于根據(jù)數(shù)據(jù)庫(kù)表,生成數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體代碼; ORM模塊,用于根據(jù)所述數(shù)據(jù)實(shí)體代碼,建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系; 數(shù)據(jù)訪問(wèn)模塊,用于利用所述映射關(guān)系,訪問(wèn)用戶請(qǐng)求的數(shù)據(jù)庫(kù)。
9.根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)裝置,其特征在于,還包括 界面展現(xiàn)模塊,用于接收用戶輸入的請(qǐng)求; 數(shù)據(jù)實(shí)體模塊,用于保存數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體的代碼; 數(shù)據(jù)規(guī)則模塊,用于保存數(shù)據(jù)庫(kù)表的數(shù)據(jù)規(guī)則的代碼。
10.根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)裝置,其特征在于,還包括 業(yè)務(wù)功能模塊,根據(jù)來(lái)自界面展現(xiàn)模塊的用戶請(qǐng)求,向業(yè)務(wù)流程模塊提供多個(gè)基本業(yè)務(wù)功能; 業(yè)務(wù)流程模塊,用于將所述多個(gè)基本業(yè)務(wù)功能進(jìn)行合成,形成一個(gè)完整的業(yè)務(wù)流。
全文摘要
本發(fā)明公開(kāi)了一種基于ORM架構(gòu)的高效數(shù)據(jù)庫(kù)訪問(wèn)的實(shí)現(xiàn)方法及裝置,方法包括以下步驟代碼生成器模塊根據(jù)數(shù)據(jù)庫(kù)表,生成數(shù)據(jù)庫(kù)表的數(shù)據(jù)實(shí)體代碼;ORM模塊根據(jù)所述數(shù)據(jù)實(shí)體代碼,建立實(shí)體數(shù)據(jù)與其對(duì)應(yīng)數(shù)據(jù)庫(kù)的映射關(guān)系;數(shù)據(jù)訪問(wèn)模塊利用所述映射關(guān)系,訪問(wèn)用戶請(qǐng)求的數(shù)據(jù)庫(kù)。本發(fā)明實(shí)現(xiàn)了通過(guò)不同開(kāi)發(fā)語(yǔ)言高效訪問(wèn)不同的數(shù)據(jù)庫(kù);通過(guò)采用有效的分層架構(gòu)設(shè)計(jì),以面向?qū)ο蟮姆绞皆诟鲗又g傳遞業(yè)務(wù)數(shù)據(jù),提高了程序的可維護(hù)性和可擴(kuò)展性,并且各層之間分工明確,便于敏捷開(kāi)發(fā)和多人合作開(kāi)發(fā);通過(guò)自動(dòng)生成大部分SQL語(yǔ)句和實(shí)體類(lèi)組件,減輕了應(yīng)用開(kāi)發(fā)人員的負(fù)荷,使其把更多的精力投入到視圖層設(shè)計(jì)和系統(tǒng)業(yè)務(wù)邏輯功能實(shí)現(xiàn)等上來(lái)。
文檔編號(hào)G06F17/30GK102841889SQ201110165590
公開(kāi)日2012年12月26日 申請(qǐng)日期2011年6月20日 優(yōu)先權(quán)日2011年6月20日
發(fā)明者柯志勇, 程兵旺 申請(qǐng)人:中興通訊股份有限公司