隨筆-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對象,盡可能的減少了連接,節約了資源)。等等很多問題,還請各位多多指教?。?!

          最后提醒一下:我只是在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日
          posted on 2008-07-26 21:33 開機 閱讀(308) 評論(0)  編輯  收藏 所屬分類: javaweb
          主站蜘蛛池模板: 新余市| 高州市| 偏关县| 固安县| 张家界市| 沽源县| 天长市| 鹤峰县| 璧山县| 永福县| 泰宁县| 和顺县| 神木县| 姚安县| 德庆县| 温州市| 红桥区| 蕲春县| 乳源| 安岳县| 社旗县| 女性| 永德县| 芮城县| 巴塘县| 桓仁| 临朐县| 城步| 河北区| 曲周县| 井陉县| 武强县| 综艺| 双城市| 邳州市| 灌云县| 稷山县| 油尖旺区| 新晃| 南城县| 尚志市|