一種實現(xiàn)數(shù)據(jù)持久層分離的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種實現(xiàn)數(shù)據(jù)持久層分離的方法及系統(tǒng),其方法包括步驟1:定義一個與數(shù)據(jù)庫模型相映射的java類;步驟2:封裝數(shù)據(jù)持久層;步驟3:將數(shù)據(jù)持久層封裝為EJB服務(wù)組件;步驟4:創(chuàng)建一個在WEB端訪問EJB服務(wù)組件的EJB工具類;步驟5:將EJB服務(wù)組件和EJB工具類打包生成EJB工具包;步驟6:將EJB工具包部署到WEB服務(wù)器中,實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署。本發(fā)明將數(shù)據(jù)持久層分離并獨立部署,降低WEB服務(wù)器壓力,提升系統(tǒng)穩(wěn)定性與運(yùn)行效率;并且提供了一種開發(fā)分布式應(yīng)用的具體思路,降低了開發(fā)分布式應(yīng)用的難度,對改造臃腫、緩慢的WEB應(yīng)用系統(tǒng)具有很好的參考價值。
【專利說明】一種實現(xiàn)數(shù)據(jù)持久層分離的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種實現(xiàn)數(shù)據(jù)持久層分離的方法及系統(tǒng),屬于計算機(jī)【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]EJB(企業(yè)級Java Bean)是sun公司的一種服務(wù)器端組件體系結(jié)構(gòu),用于構(gòu)建可分布式部署的應(yīng)用程序。憑借java跨平臺的優(yōu)勢,用EJB技術(shù)部署的分布式系統(tǒng)可以不限于特定的平臺。包括會話Bean (Sess1n Bean),實體Bean (Entity Bean)和消息驅(qū)動Bean(MessageDriven Bean)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)的不足,提供一種利用EJB技術(shù)將客服系統(tǒng)的數(shù)據(jù)持久層與WEB端分離并進(jìn)行獨立部署,顯著提升客服系統(tǒng)穩(wěn)定性與運(yùn)行效率,并提供一種通用的數(shù)據(jù)庫交互方法,使分布式程序開發(fā)簡單易行的基于EJB技術(shù)實現(xiàn)數(shù)據(jù)持久層分離的方法。
[0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種實現(xiàn)數(shù)據(jù)持久層分離的方法,具體包括以下步驟:
[0005]步驟1:定義一個與數(shù)據(jù)庫模型相映射的java類,并根據(jù)OR-Mapping對象-關(guān)系映射思想將java類與數(shù)據(jù)庫模型建立映射關(guān)系,java類生成ibatis配置文件;
[0006]步驟2:基于ibatis配置文件封裝數(shù)據(jù)持久層,實現(xiàn)對數(shù)據(jù)持久化操作;
[0007]步驟3:采用EJB技術(shù)將數(shù)據(jù)持久層進(jìn)一步封裝為可分布式部署和調(diào)用的EJB服務(wù)組件;
[0008]步驟4:創(chuàng)建一個在WEB端訪問EJB服務(wù)組件的EJB工具類;
[0009]步驟5:將EJB服務(wù)組件和EJB工具類打包生成EJB工具包;
[0010]步驟6:將EJB工具包部署到WEB服務(wù)器中,實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署。
[0011]本發(fā)明的有益效果是:本發(fā)明將數(shù)據(jù)持久層分離并獨立部署,降低WEB服務(wù)器壓力,提升系統(tǒng)穩(wěn)定性與運(yùn)行效率;并且提供了一種開發(fā)分布式應(yīng)用的具體思路,降低了開發(fā)分布式應(yīng)用的難度,對改造臃腫、緩慢的WEB應(yīng)用系統(tǒng)具有很好的參考價值。
[0012]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0013]進(jìn)一步,還包括步驟7:在WEB服務(wù)器中通過調(diào)用EJB工具包的方法進(jìn)行將數(shù)據(jù)持久化,實現(xiàn)前臺業(yè)務(wù)與后臺數(shù)據(jù)庫持久化的分離。
[0014]進(jìn)一步,所述步驟1具體包括以下步驟:
[0015]步驟1.1:通過自定義的代碼生成器,生成數(shù)據(jù)庫表和與數(shù)據(jù)庫表同名的java類,并同時生成每個屬性的get和set方法;
[0016]步驟1.2:生成與數(shù)據(jù)庫表同名的xml文件,即ibatis配置文件。
[0017]采用上述進(jìn)一步方案實現(xiàn)的有益效果是,生成每個屬性的get和set方法,用于方便的獲取屬性值或給屬性賦值。
[0018]進(jìn)一步,所述步驟2中數(shù)據(jù)持久層的封裝采用的是步驟1.2得到的ibatis配置文件實現(xiàn)的,即客服系統(tǒng)中采用的ibatis開源框架實現(xiàn)對數(shù)據(jù)持久化操作。
[0019]進(jìn)一步,所述步驟4具體包括以下步驟:
[0020]步驟4.1:根據(jù)EJB服務(wù)組件部署的IP地址和JNDI名稱,通過JNDI規(guī)范查找并獲取到EJB服務(wù)組件的實例;
[0021]步驟4.2:根據(jù)EJB服務(wù)組件所提供的服務(wù)器端方法編寫對應(yīng)的客戶端方法,實現(xiàn)創(chuàng)建EJB工具類。
[0022]進(jìn)一步,所述數(shù)據(jù)持久化操作包括新增、刪除、修改、查詢、批量更新和組合更新,查詢語句可以返回不同結(jié)果集,最終返回給調(diào)用方使用。
[0023]進(jìn)一步,所述ibatis配置文件中包含基本的SQL語句,如單條查詢、修改、插入、刪除、列表查詢和數(shù)量統(tǒng)計,各個SQL語句已表主鍵字段作為查詢條件。
[0024]本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)的不足,提供一種利用EJB技術(shù)將客服系統(tǒng)的數(shù)據(jù)持久層與WEB端分離并進(jìn)行獨立部署,顯著提升客服系統(tǒng)穩(wěn)定性與運(yùn)行效率,并提供一種通用的數(shù)據(jù)庫交互方法,使分布式程序開發(fā)簡單易行的基于EJB技術(shù)實現(xiàn)數(shù)據(jù)持久層分離的系統(tǒng)。
[0025]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種實現(xiàn)數(shù)據(jù)持久層分離的系統(tǒng),包括:映射建立模塊、封裝模塊、二次封裝模塊、工具類模塊、打包模塊和分離模塊;
[0026]所述映射建立模塊用于定義一個與數(shù)據(jù)庫模型相映射的java類,并根據(jù)OR-Mapping對象-關(guān)系映射思想將java類與數(shù)據(jù)庫模型建立映射關(guān)系,java類生成ibatis配置文件;
[0027]所述封裝模塊用于基于ibatis配置文件封裝數(shù)據(jù)持久層,實現(xiàn)對數(shù)據(jù)持久化操作;
[0028]所述二次封裝模塊用于采用EJB技術(shù)將數(shù)據(jù)持久層進(jìn)一步封裝為可分布式部署和調(diào)用的EJB服務(wù)組件;
[0029]所述工具類模塊用于創(chuàng)建一個在WEB端訪問EJB服務(wù)組件的EJB工具類;
[0030]所述打包模塊用于將EJB服務(wù)組件和EJB工具類打包生成EJB工具包;
[0031]所述分離模塊用于將EJB工具包部署到WEB服務(wù)器中,實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署。
[0032]本發(fā)明的有益效果是:本發(fā)明將數(shù)據(jù)持久層分離并獨立部署,降低WEB服務(wù)器壓力,提升系統(tǒng)穩(wěn)定性與運(yùn)行效率;并且提供了一種開發(fā)分布式應(yīng)用的具體思路,降低了開發(fā)分布式應(yīng)用的難度,對改造臃腫、緩慢的WEB應(yīng)用系統(tǒng)具有很好的參考價值。
[0033]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0034]進(jìn)一步,還包括前后臺分離模塊,所述前后臺分離模塊用于在WEB服務(wù)器中通過調(diào)用EJB工具包的方法進(jìn)行將數(shù)據(jù)持久化,實現(xiàn)前臺業(yè)務(wù)與后臺數(shù)據(jù)庫持久化的分離。
[0035]進(jìn)一步,所述映射建立模塊包括類生成模塊和配置文件模塊;
[0036]所述類生成模塊用于通過自定義的代碼生成器,生成數(shù)據(jù)庫表和與數(shù)據(jù)庫表同名的java類,并同時生成每個屬性的get和set方法;
[0037]所述配置文件模塊用于生成與數(shù)據(jù)庫表同名的xml文件,即ibatis配置文件。
[0038]采用上述進(jìn)一步方案實現(xiàn)的有益效果是,生成每個屬性的get和set方法,用于方便的獲取屬性值或給屬性賦值。
[0039]進(jìn)一步,所述封裝模塊中數(shù)據(jù)持久層的封裝采用的是配置文件模塊得到的ibatis配置文件實現(xiàn)的,即客服系統(tǒng)中采用的ibatis開源框架實現(xiàn)對數(shù)據(jù)持久化操作。
[0040]進(jìn)一步,所述工具類模塊包括實例查找模塊和創(chuàng)建模塊;
[0041 ] 所述實例查找模塊用于根據(jù)EJB服務(wù)組件部署的IP地址和JNDI名稱,通過JNDI規(guī)范查找并獲取到EJB服務(wù)組件的實例;
[0042]所述創(chuàng)建模塊用于根據(jù)EJB服務(wù)組件所提供的服務(wù)器端方法編寫對應(yīng)的客戶端方法,實現(xiàn)創(chuàng)建EJB工具類。
[0043]進(jìn)一步,所述數(shù)據(jù)持久化操作包括新增、刪除、修改、查詢、批量更新和組合更新,查詢語句可以返回不同結(jié)果集,最終返回給調(diào)用方使用。
[0044]進(jìn)一步,所述ibatis配置文件中包含基本的SQL語句,如單條查詢、修改、插入、刪除、列表查詢和數(shù)量統(tǒng)計,各個SQL語句已表主鍵字段作為查詢條件。
【專利附圖】
【附圖說明】
[0045]圖1為本發(fā)明具體實施例1所述的一種日報作業(yè)的調(diào)度方法流程圖;
[0046]圖2為本發(fā)明具體實施例1所述的一種日報作業(yè)的調(diào)度系統(tǒng)結(jié)構(gòu)框圖。
[0047]附圖中,各標(biāo)號所代表的部件列表如下:
[0048]1、映射建立模塊,2、封裝模塊,3、二次封裝模塊,4、工具類模塊,5、打包模塊,6、分離模塊,7、前后臺分離模塊,11、類生成模塊,12、配置文件模塊,41、實例查找模塊,42、創(chuàng)建模塊。
【具體實施方式】
[0049]以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0050]如圖1所示,為本發(fā)明具體實施例1所述的一種實現(xiàn)數(shù)據(jù)持久層分離的方法,具體包括以下步驟:
[0051]步驟1:通過自定義的代碼生成器,生成數(shù)據(jù)庫表和與數(shù)據(jù)庫表同名的java類,并同時生成每個屬性的get和set方法;
[0052]步驟2:生成與數(shù)據(jù)庫表同名的xml文件,即ibatis配置文件;
[0053]步驟3:基于ibatis配置文件封裝數(shù)據(jù)持久層,實現(xiàn)對數(shù)據(jù)持久化操作;
[0054]步驟4:采用EJB技術(shù)將數(shù)據(jù)持久層進(jìn)一步封裝為可分布式部署和調(diào)用的EJB服務(wù)組件;
[0055]步驟5:根據(jù)EJB服務(wù)組件部署的IP地址和JNDI名稱,通過JNDI規(guī)范查找并獲取到EJB服務(wù)組件的實例;
[0056]步驟6:根據(jù)EJB服務(wù)組件所提供的服務(wù)器端方法編寫對應(yīng)的客戶端方法,實現(xiàn)創(chuàng)建EJB工具類;
[0057]步驟7:將EJB服務(wù)組件和EJB工具類打包生成EJB工具包;
[0058]步驟8:將EJB工具包部署到WEB服務(wù)器中,實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署;
[0059]步驟9:在WEB服務(wù)器中通過調(diào)用EJB工具包的方法進(jìn)行將數(shù)據(jù)持久化,實現(xiàn)前臺業(yè)務(wù)與后臺數(shù)據(jù)庫持久化的分離。
[0060]所述步驟2中數(shù)據(jù)持久層的封裝采用的是步驟1.2得到的ibatis配置文件實現(xiàn)的,即客服系統(tǒng)中采用的ibatis開源框架實現(xiàn)對數(shù)據(jù)持久化操作。
[0061]所述數(shù)據(jù)持久化操作包括新增、刪除、修改、查詢、批量更新和組合更新,查詢語句可以返回不同結(jié)果集,最終返回給調(diào)用方使用。
[0062]所述ibatis配置文件中包含基本的SQL語句,如單條查詢、修改、插入、刪除、列表查詢和數(shù)量統(tǒng)計,各個SQL語句已表主鍵字段作為查詢條件。
[0063]如圖2所示,為本發(fā)明具體實施例1所述的一種實現(xiàn)數(shù)據(jù)持久層分離的系統(tǒng),包括:映射建立模塊1、封裝模塊2、二次封裝模塊3、工具類模塊4、打包模塊5和分離模塊6 ;
[0064]所述映射建立模塊1定義一個與數(shù)據(jù)庫模型相映射的java類,并根據(jù)OR-Mapping對象-關(guān)系映射思想將java類與數(shù)據(jù)庫模型建立映射關(guān)系,java類生成ibatis配置文件;
[0065]所述封裝模塊2用于基于ibatis配置文件封裝數(shù)據(jù)持久層,實現(xiàn)對數(shù)據(jù)持久化操作;
[0066]所述二次封裝模塊3用于采用EJB技術(shù)將數(shù)據(jù)持久層進(jìn)一步封裝為可分布式部署和調(diào)用的EJB服務(wù)組件;
[0067]所述工具類模塊4用于創(chuàng)建一個在WEB端訪問EJB服務(wù)組件的EJB工具類;
[0068]所述打包模塊5用于將EJB服務(wù)組件和EJB工具類打包生成EJB工具包;
[0069]所述分離模塊6用于將EJB工具包部署到WEB服務(wù)器中,實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署。
[0070]還包括前后臺分離模塊7,所述前后臺分離模塊用于在WEB服務(wù)器中通過調(diào)用EJB工具包的方法進(jìn)行將數(shù)據(jù)持久化,實現(xiàn)前臺業(yè)務(wù)與后臺數(shù)據(jù)庫持久化的分離。
[0071]所述映射建立模塊1包括類生成模塊11和配置文件模塊12 ;
[0072]所述類生成模塊11用于通過自定義的代碼生成器,生成數(shù)據(jù)庫表和與數(shù)據(jù)庫表同名的java類,并同時生成每個屬性的get和set方法;
[0073]所述配置文件模塊12用于生成與數(shù)據(jù)庫表同名的xml文件,即ibatis配置文件。
[0074]所述封裝模塊2中數(shù)據(jù)持久層的封裝采用的是配置文件模塊12得到的ibatis配置文件實現(xiàn)的,即客服系統(tǒng)中采用的ibatis開源框架實現(xiàn)對數(shù)據(jù)持久化操作。
[0075]所述數(shù)據(jù)持久化操作包括新增、刪除、修改、查詢、批量更新和組合更新,查詢語句可以返回不同結(jié)果集,最終返回給調(diào)用方使用。
[0076]所述ibatis配置文件中包含基本的SQL語句,如單條查詢、修改、插入、刪除、列表查詢和數(shù)量統(tǒng)計,各個SQL語句已表主鍵字段作為查詢條件。
[0077]所述工具類模塊4包括實例查找模塊41和創(chuàng)建模塊42 ;
[0078]所述實例查找模塊41用于根據(jù)EJB服務(wù)組件部署的IP地址和JNDI名稱,通過JNDI規(guī)范查找并獲取到EJB服務(wù)組件的實例;
[0079]所述創(chuàng)建模塊42用于根據(jù)EJB服務(wù)組件所提供的服務(wù)器端方法編寫對應(yīng)的客戶端方法,實現(xiàn)創(chuàng)建EJB工具類。
[0080]將EJB工具包分別部署到EJB服務(wù)器和WEB服務(wù)器中。部署至EJB服務(wù)器的方法視不同的EJB容器而定,市場上所有的EJB容器都提供了相應(yīng)的部署方法。部署至WEB服務(wù)器的方法是將該jar包加入標(biāo)準(zhǔn)Java Web工程的WEB_INF/lib目錄下,或者放置到任何其他目錄中,同時將其路徑加入WEB服務(wù)器的classpath環(huán)境變量中。
[0081 ] 改造WEB端應(yīng)用程序如java類、jsp等,將其訪問數(shù)據(jù)庫的方法修改為調(diào)用EJB工具類的方法進(jìn)行。
[0082]以下按照7個步驟對本發(fā)明的方法進(jìn)行詳細(xì)解釋:
[0083]1.采用OR-Mapping思想(對象-關(guān)系映射),根據(jù)客服系統(tǒng)的數(shù)據(jù)庫模型創(chuàng)建對象關(guān)系映射,即定義與數(shù)據(jù)庫模型相映射的Java類(dto),對于業(yè)務(wù)上映射關(guān)系不明確的數(shù)據(jù)庫模型,可用HashMap替代。
[0084]關(guān)于映射關(guān)系的建立,客服系統(tǒng)中通過自定義的代碼生成器,自動生成數(shù)據(jù)庫表、Java類和ibatis配置文件的對應(yīng)關(guān)系。首先,生成與數(shù)據(jù)庫表同名的Java類,類中屬性與表中字段名稱、個數(shù)相同,并同時生成每個屬性的get和set方法,用于方便的獲取屬性值或給屬性賦值。其次,生成與表同名的Xml文件,即ibatis配置文件,文件中包含基本的SQL語句,如單條查詢、修改、插入、刪除、列表查詢和數(shù)量統(tǒng)計,各個sql語句已表主鍵字段作為查詢條件。
[0085]2.以上第1點中的ibatis配置文件,即客服系統(tǒng)中采用的Ibatis開源框架,用于實現(xiàn)對數(shù)據(jù)持久化操作,包括新增、刪除、修改、查詢、批量更新、組合更新,查詢語句可以返回不同結(jié)果集(數(shù)字、字符串、dto對象、HashMap對象、dto對象的List集合、HashMap對象的List集合),最終返回給調(diào)用方使用,通常為客服前臺業(yè)務(wù)代碼。
[0086]3.采用EJB技術(shù)將第2步封裝的數(shù)據(jù)持久層進(jìn)一步改造為可分布式部署與調(diào)用的服務(wù)組件。即在EJB層,增加java類,用于直接與ibatis配置文件交互。定義對應(yīng)的方法執(zhí)行相對應(yīng)的SQL語句,并返回執(zhí)行結(jié)果,如單條查詢返回java對象,列表查詢返回List對象,修改、插入和刪除的語句,則返回執(zhí)行結(jié)果的標(biāo)識(0:成功,1:失敗)。實現(xiàn)此java類后,作為EJB層的服務(wù)發(fā)布,前天WEB應(yīng)用的業(yè)務(wù)代碼,只需調(diào)用EJB服務(wù)提供的方法來實現(xiàn)持久化,不需要直接與ibatis配置文件交互。
[0087]4.創(chuàng)建一個在WEB端訪問第3步產(chǎn)生的服務(wù)組件的通用工具類,具體是根據(jù)EJB服務(wù)組件部署的IP地址、JNDI名稱,通過JNDI規(guī)范查找并獲取到EJB服務(wù)組件的實例,再根據(jù)第2步所述該服務(wù)組件所提供的服務(wù)器端方法編寫對應(yīng)的客戶端方法。
[0088]5.將第3步的EJB服務(wù)組件、第4步的EJB工具類打包生成EJB工具包(jar包)。
[0089]6.將第5步生成的工具包分別部署到WEB服務(wù)器(可以是普通的WEB應(yīng)用服務(wù)器,應(yīng)用服務(wù)器需具備EJB容易,如Weblogic)中,最終實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署。
[0090]7.最后,在WEB端應(yīng)用程序如java類、jsp等,將其數(shù)據(jù)持久化方法(對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增、刪、改、查)通過調(diào)用EJB工具類的方法進(jìn)行。最終實現(xiàn)前臺業(yè)務(wù)與后臺數(shù)據(jù)庫持久化的分離。
[0091 ] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種實現(xiàn)數(shù)據(jù)持久層分離的方法,其特征在于,具體包括以下步驟: 步驟1:定義一個與數(shù)據(jù)庫模型相映射的java類,并根據(jù)OR-Mapping對象-關(guān)系映射思想將java類與數(shù)據(jù)庫模型建立映射關(guān)系,java類生成ibatis配置文件; 步驟2:基于ibatis配置文件封裝數(shù)據(jù)持久層,實現(xiàn)對數(shù)據(jù)持久化操作; 步驟3:采用EJB技術(shù)將數(shù)據(jù)持久層進(jìn)一步封裝為可分布式部署和調(diào)用的EJB服務(wù)組件; 步驟4:創(chuàng)建一個在WEB端訪問EJB服務(wù)組件的EJB工具類; 步驟5:將EJB服務(wù)組件和EJB工具類打包生成EJB工具包; 步驟6:將EJB工具包部署到WEB服務(wù)器中,實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署。
2.根據(jù)權(quán)利要求1所述的一種實現(xiàn)數(shù)據(jù)持久層分離的方法,其特征在于,還包括步驟7:在WEB服務(wù)器中通過調(diào)用EJB工具包的方法進(jìn)行將數(shù)據(jù)持久化,實現(xiàn)前臺業(yè)務(wù)與后臺數(shù)據(jù)庫持久化的分離。
3.根據(jù)權(quán)利要求2所述的一種實現(xiàn)數(shù)據(jù)持久層分離的方法,其特征在于,所述步驟I具體包括以下步驟: 步驟1.1:通過自定義的代碼生成器,生成數(shù)據(jù)庫表和與數(shù)據(jù)庫表同名的java類,并同時生成每個屬性的get和set方法; 步驟1.2:生成與數(shù)據(jù)庫表同名的xml文件,即ibatis配置文件。
4.根據(jù)權(quán)利要求3所述的一種實現(xiàn)數(shù)據(jù)持久層分離的方法,其特征在于,所述步驟2中數(shù)據(jù)持久層的封裝采用的是步驟1.2得到的ibatis配置文件實現(xiàn)的,即客服系統(tǒng)中采用的ibatis開源框架實現(xiàn)對數(shù)據(jù)持久化操作。
5.根據(jù)權(quán)利要求1-4任一項所述的一種實現(xiàn)數(shù)據(jù)持久層分離的方法,其特征在于,所述步驟4具體包括以下步驟: 步驟4.1:根據(jù)EJB服務(wù)組件部署的IP地址和JNDI名稱,通過JNDI規(guī)范查找并獲取到EJB服務(wù)組件的實例; 步驟4.2:根據(jù)EJB服務(wù)組件所提供的服務(wù)器端方法編寫對應(yīng)的客戶端方法,實現(xiàn)創(chuàng)建EJB工具類。
6.根據(jù)權(quán)利要求5所述的一種實現(xiàn)數(shù)據(jù)持久層分離的方法,其特征在于,所述數(shù)據(jù)持久化操作包括新增、刪除、修改、查詢、批量更新和組合更新,查詢語句可以返回不同結(jié)果集,最終返回給調(diào)用方使用; 所述ibatis配置文件中包含基本的SQL語句,各個SQL語句已表主鍵字段作為查詢條件。
7.一種實現(xiàn)數(shù)據(jù)持久層分離的系統(tǒng),其特征在于:映射建立模塊、封裝模塊、二次封裝模塊、工具類模塊、打包模塊和分離模塊;所述映射建立模塊用于定義一個與數(shù)據(jù)庫模型相映射的java類,并根據(jù)OR-Mapping對象-關(guān)系映射思想將java類與數(shù)據(jù)庫模型建立映射關(guān)系,java類生成ibatis配置文件;所述封裝模塊用于基于ibatis配置文件封裝數(shù)據(jù)持久層,實現(xiàn)對數(shù)據(jù)持久化操作;所述二次封裝模塊用于采用EJB技術(shù)將數(shù)據(jù)持久層進(jìn)一步封裝為可分布式部署和調(diào)用的EJB服務(wù)組件; 所述工具類模塊用于創(chuàng)建一個在WEB端訪問EJB服務(wù)組件的EJB工具類; 所述打包模塊用于將EJB服務(wù)組件和EJB工具類打包生成EJB工具包; 所述分離模塊用于將EJB工具包部署到WEB服務(wù)器中,實現(xiàn)數(shù)據(jù)持久層的分離和獨立部署。
8.根據(jù)權(quán)利要求7所述的一種實現(xiàn)數(shù)據(jù)持久層分離的系統(tǒng),其特征在于,還包括前后臺分離模塊,所述前后臺分離模塊用于在WEB服務(wù)器中通過調(diào)用EJB工具包的方法進(jìn)行將數(shù)據(jù)持久化,實現(xiàn)前臺業(yè)務(wù)與后臺數(shù)據(jù)庫持久化的分離。
9.根據(jù)權(quán)利要求8所述的一種實現(xiàn)數(shù)據(jù)持久層分離的系統(tǒng),其特征在于,所述映射建立模塊包括類生成模塊和配置文件模塊; 所述類生成模塊用于通過自定義的代碼生成器,生成數(shù)據(jù)庫表和與數(shù)據(jù)庫表同名的java類,并同時生成每個屬性的get和set方法; 所述配置文件模塊用于生成與數(shù)據(jù)庫表同名的xml文件,即ibatis配置文件。
10.根據(jù)權(quán)利要求7-9任一項所述的一種實現(xiàn)數(shù)據(jù)持久層分離的系統(tǒng),其特征在于,所述工具類模塊包括實例查找模塊和創(chuàng)建模塊; 所述實例查找模塊用于根據(jù)EJB服務(wù)組件部署的IP地址和JNDI名稱,通過JNDI規(guī)范查找并獲取到EJB服務(wù)組件的實例; 所述創(chuàng)建模塊用于根據(jù)EJB服務(wù)組件所提供的服務(wù)器端方法編寫對應(yīng)的客戶端方法,實現(xiàn)創(chuàng)建EJB工具類。
【文檔編號】G06F9/44GK104461495SQ201410602487
【公開日】2015年3月25日 申請日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】馬春新 申請人:北京思特奇信息技術(shù)股份有限公司