posts - 10,comments - 2,trackbacks - 0

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

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




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



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



          3.       所有的接口實現(xiàn)的dao操作類在web服務(wù)器的一個特殊目錄中存在一個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ù)器的同時,會同時啟動一個線程,讀入該xml文件,并讀入數(shù)據(jù)庫配置參數(shù)文件。與hibernate這個框架相比,這個dao管理只能在web應(yīng)用中使用。



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



                 這個數(shù)據(jù)庫框架還提供了一些方便編寫代碼的操作,例如拼裝sql語句,提供了一個這樣的方法: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);  



           


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


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


           




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





          JavaEye推薦
          上海樂福狗信息技術(shù)有限公司:誠聘技術(shù)經(jīng)理和開發(fā)工程師
          免費下載IBM社區(qū)版軟件--它基于開放的標準,支持廣泛的開發(fā)類型,讓您的開發(fā)高效自主!
          京滬穗蓉四地免費注冊,SOA技術(shù)高手匯聚交鋒.
          上海:優(yōu)秀公司德比:高薪誠聘 資深Java工程師
          廣州:優(yōu)易公司:誠聘Java工程師,開發(fā)經(jīng)理
          上海:尤恩斯國際集團:誠聘開發(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)航:
           
          主站蜘蛛池模板: 榆中县| 利津县| 察隅县| 丽江市| 光泽县| 聂拉木县| 尤溪县| 麻江县| 桂阳县| 扎鲁特旗| 西华县| 克拉玛依市| 马山县| 凉山| 凤翔县| 麻城市| 高安市| 平和县| 阳高县| 邮箱| 德令哈市| 龙州县| 常山县| 奎屯市| 称多县| 宜兴市| 东港市| 乃东县| 安平县| 罗平县| 龙海市| 兴文县| 张北县| 沂南县| 碌曲县| 乾安县| 吉安县| 桃源县| 永川市| 赤水市| 湄潭县|