posts - 10,comments - 2,trackbacks - 0

          網(wǎng)站:JavaEye 作者:liuwei1981 發(fā)表時(shí)間: 2007-08-23 09:45 此文章來自于 http://www.JavaEye.com
          聲明:本文系JavaEye網(wǎng)站原創(chuàng)文章,未經(jīng)JavaEye網(wǎng)站或者作者本人書面許可,任何其他網(wǎng)站嚴(yán)禁擅自發(fā)表本文,否則必將追究法律責(zé)任!
          原文鏈接: http://liuwei1981.javaeye.com/blog/115574

                     該系統(tǒng)軟件框架對sql操作進(jìn)行了封裝,并提供了一批API幫助客戶程序員更為簡便的進(jìn)行數(shù)據(jù)庫操作。這些api包括:




          1.        統(tǒng)一的DbConnection管理,客戶程序員只需將要執(zhí)行的sql語句作為參數(shù)傳入,api會將結(jié)果列表以二維字符串?dāng)?shù)組的形式返回。api提供特殊的方法,例如翻頁處理等都提供了相應(yīng)的處理。



          2.        按照功能劃分dao操作類。類的編寫有自身設(shè)計(jì)的一套規(guī)范。首先該功能的dao操作類設(shè)計(jì)為接口,然后按照數(shù)據(jù)庫的不同特殊處理實(shí)現(xiàn)該接口。例如:接口為TestDAO.java,使用oracle數(shù)據(jù)庫實(shí)現(xiàn)該接口,為OraTestDAO.java,使用sqlserver數(shù)據(jù)庫實(shí)現(xiàn)該接口,為SqlTestDAO.java。dao操作類直接操作框架對數(shù)據(jù)庫進(jìn)行操作的DbConnection對象進(jìn)行業(yè)務(wù)處理。



          3.       所有的接口實(shí)現(xiàn)的dao操作類在web服務(wù)器的一個(gè)特殊目錄中存在一個(gè)xml格式的配置文件。
            xml 代碼




            1. <DAOLIST>  

            2. <DAO>  

            3. <NAME>testdaoNAME>  

            4. <CLASSNAME>com.test.dao.OraTestDAOCLASSNAME>  

            5. <DESCRIPTION>測試DESCRIPTION>  

            6. DAO>  

            7.  DAOLIST>  






          4.     在web服務(wù)器的同時(shí),會同時(shí)啟動一個(gè)線程,讀入該xml文件,并讀入數(shù)據(jù)庫配置參數(shù)文件。與hibernate這個(gè)框架相比,這個(gè)dao管理只能在web應(yīng)用中使用。



          5.     前幾篇提到的web層使用的Ctrl控制類,在框架設(shè)計(jì)中不能直接操作dao操作類,而是存在一個(gè)中間層,包括BO類和VOListIter類,編寫這兩個(gè)類都需實(shí)現(xiàn)框架提供的接口。bo類主要包括數(shù)據(jù)庫的除獲取數(shù)據(jù)列表以外的所有操作,如錄入,修改等,VOListIter類專門為實(shí)現(xiàn)數(shù)據(jù)列表翻頁設(shè)計(jì),通過該類獲取翻頁數(shù)據(jù)列表方法,需要首先聲明一個(gè)長度為5的Integer類型的數(shù)組,DbConnection類的該方法需要這個(gè)參數(shù),將該列表的當(dāng)前頁數(shù)和最大頁數(shù)返回。



                 這個(gè)數(shù)據(jù)庫框架還提供了一些方便編寫代碼的操作,例如拼裝sql語句,提供了一個(gè)這樣的方法:MakeUp類。代碼如下:


          java 代碼


           





          1. String sql = " INSERT INTO  test_t  (testid,testname) "  

          2.         + " VALUES (@,'#')  ";   

          3.   

          4. String[] key = {   

          5.         test.getId(),test.getName()     

          6.   };   

          7. sql = MakeUp.makeUp(key, sql);  



           


          這個(gè)makeUp方法會將sql語句拼裝好,@表示數(shù)字占位,#表示字符占位。


          這個(gè)系統(tǒng)的數(shù)據(jù)庫操作管理大致就是這樣了,比較簡單,總的來說就是對dbconncetion 操作進(jìn)行了重新封裝,方便客戶程序員的使用。


           




          《 總結(jié)一下維護(hù)了一年的一個(gè)軟件系統(tǒng)的軟件體系(五) 》 的評論也很精彩,歡迎您也添加評論。查看詳細(xì) >>





          JavaEye推薦
          上海樂福狗信息技術(shù)有限公司:誠聘技術(shù)經(jīng)理和開發(fā)工程師
          免費(fèi)下載IBM社區(qū)版軟件--它基于開放的標(biāo)準(zhǔn),支持廣泛的開發(fā)類型,讓您的開發(fā)高效自主!
          京滬穗蓉四地免費(fèi)注冊,SOA技術(shù)高手匯聚交鋒.
          上海:優(yōu)秀公司德比:高薪誠聘 資深Java工程師
          廣州:優(yōu)易公司:誠聘Java工程師,開發(fā)經(jīng)理
          上海:尤恩斯國際集團(tuán):誠聘開發(fā)工程師
          北京:優(yōu)秀公司NHNChina招聘:WEB開發(fā),系統(tǒng)管理,JAVA開發(fā), DBA



          文章來源: http://liuwei1981.javaeye.com/blog/115574
          posted on 2007-08-23 09:45 皇馬嘯西風(fēng) 閱讀(170) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 石泉县| 莎车县| 淮北市| 绍兴县| 中卫市| 云龙县| 北票市| 瑞丽市| 顺平县| 仙游县| 钦州市| 敖汉旗| 云霄县| 浏阳市| 桂林市| 平安县| 民丰县| 平武县| 安福县| 巴彦县| 仲巴县| 东乡县| 沧州市| 高台县| 香港| 宁武县| 岑溪市| 克山县| 西充县| 建瓯市| 太谷县| 九龙县| 汾西县| 竹山县| 谢通门县| 额济纳旗| 新宁县| 波密县| 航空| 关岭| 崇礼县|