隨筆-26  評論-44  文章-20  trackbacks-0
          參考 隨筆:自己動手做試卷管理系統-用戶管理部分

          我增加了3個類:DB,Table,Row
          DB:用來取得所有的table,并生產相應的Table對象,存貯在HashTable中,使用方法getTable("tableName");可以從HashTable中取得。注意:生產Table對象的時候,用了構造方法:new Table("tableName","mainPropertyName");mainProperty是給表設置的主鍵名,在config.properties中可以修改。
          Table:定義了 取得某一行(getRow),插入記錄(insert)。這兩個方法都必須通過主鍵來操作。
                       刪除記錄(delete),搜索(search)。這兩個方法任意指定條件,如刪除 屬性username="321"的記錄。
                       計數(count),此方法有給定條件的,有無條件的(用來求 整個表有多少行)。
                       列表(list),返回一個List代表了整個表的信息。用到了RowSetDynaClass(在DBExcute類中),它是個好東東。
          Row:更簡單了,兩個方法:set(String propertyName,String propertyValue)和get(String propertyName) 方法


          我的目的就是來做一個操作數據庫的通用工具,當環境和數據變化時,只需修改一下config.properties(當然 性能和我這個業余的一樣,也是有點業余的)。
          下面是我檢測的代碼:
          try {  //取得user表中主鍵名(這里的主鍵名是username)為Root的行記錄的密碼項的值
                      System.out.println(DB.getDB().getTable("user").getRow("Root").get("password"));
                  } catch (NotQueryException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  } catch (SQLException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
          有很多地方還需要完善,特別是異常類,我寫的異常類有點少,不夠用,然后定義的也不是很好。連接池不知道是怎么建的,我發現用連接太浪費啦,就上面的代碼就執行了3次連接,getTable的時候,getRow的時候,getPassword的時候,(用HashTable來存貯Tabel對象,盡可能的減少了連接,節約了資源)。等等很多問題,還請各位多多指教?。。?br />
          最后提醒一下:我只是在com.yijia_ctgu.DB包中增加了3個類,以前做的頁面jsp和servlet,bean都沒變化(還沒來得及用上這個工具)。java源文件和jsp文件的編碼是gb2312,注意改一下,不然會亂碼,其實用utf-8挺好的,不過我知道的遲了,現在想改,嫌麻煩的。

          代碼下載:http://www.aygfsteel.com/Files/yijia/papermanage0.3.rar

          改進后的操作數據庫工具:http://www.aygfsteel.com/Files/yijia/yijia_ctgu.rar
          更新時間:2008年7月30日


          開機 2008-07-26 21:33 發表評論

          文章來源:http://www.aygfsteel.com/yijia/archive/2008/07/26/217716.html
          posted on 2009-10-20 09:32 開機 閱讀(95) 評論(0)  編輯  收藏

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 尖扎县| 固阳县| 无棣县| 贵定县| 石首市| 江油市| 和龙市| 图木舒克市| 呼和浩特市| 察哈| 襄城县| 田阳县| 略阳县| 辽宁省| 呼和浩特市| 桦川县| 屏南县| 崇义县| 枣庄市| 石门县| 万州区| 宁远县| 金寨县| 嫩江县| 同心县| 贵港市| 仙居县| 柏乡县| 达州市| 桐柏县| 长治市| 宁明县| 霸州市| 和平县| 绍兴市| 昌都县| 滕州市| 莱芜市| 宜州市| 衡山县| 陆良县|