posts - 25, comments - 69, trackbacks - 0, articles - 2

          自己寫了一個簡單的Dao

          Posted on 2006-04-10 09:22 壯士日志 閱讀(724) 評論(5)  編輯  收藏

          最近做一個基于J2EE的WEB項目,該項目的特點是查詢比較多,本來設計中打算用hibernate實現持久層,但是基于項目時間緊張和開發人員不熟悉hibernate而取消.于是想到了傳統的Dao,加上最近看了好多關于類反射的東西,于是自己寫了一個簡單的Dao,基本的方法很簡單,輸入sql語句/參數/,返回String二維數組(直接在頁面顯示).由于只是針對web顯示,所以在設計上加入了一些小技巧,例如數組的第一行是表頭信息,通過參數傳入,如果參數為null則根據dbms metadata來讀取,相關的api列表如下:

          其中以Simple開頭的查詢方法只支持單條查詢并直接返回結果,其打開和關閉連接等過程在內部自動實現.以exec開頭的的方法支持多條查詢和update,支持事務,要自己打開(init)和關閉(close)連接,下面是一個stuts actionbean里面的代碼片斷,是不是看起來很簡單呢:)

          ? Dao d = new Dao();
          ??String[][] result = null;
          ??String sql="select name,phone from users where schoolID=? and classID=?"
          ??result=d.simplyQuery(sql,
          ????new String[]{"姓名","電話號碼"},? //表頭
          ????new String[]{theForm.getSchoolID(),theForm.getClassID}?? //參數
          ????);
          ??request.getSession().setAttribute("xxxx..",result);

          Feedback

          # re: 自己寫了一個簡單的Dao  回復  更多評論   

          2006-04-10 09:35 by 壯士的爛筆頭:)
          暈,改了幾次上面的圖片都無法按原來的大小顯示:(

          # re: 自己寫了一個簡單的Dao  回復  更多評論   

          2006-04-10 09:50 by 劍事
          request.getSession().setAttribute("xxxx..",result);
          很錯誤的用法

          # re: 自己寫了一個簡單的Dao  回復  更多評論   

          2006-04-10 09:53 by 壯士的爛筆頭:)
          為什么呢?說來聽聽

          # re: 自己寫了一個簡單的Dao  回復  更多評論   

          2006-04-10 10:23 by JustJava
          把result放到session中,什么時候關閉數據庫連接呢?

          # re: 自己寫了一個簡單的Dao  回復  更多評論   

          2006-04-10 10:27 by 壯士的爛筆頭:)
          放到session之前就已經關閉掉了
          public String[][] simplyQuery(String sql,String[] titles,Object[] params)
          {
          try {
          this.init();
          return this.execSQL(sql,titles,params);
          } catch (Exception e) {
          // TODO Auto-generated catch block
          logger.error(e.getMessage());
          return null;
          }
          finally
          {
          this.close();
          }
          }

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


          網站導航:
           
          主站蜘蛛池模板: 信丰县| 东莞市| 太保市| 察哈| 苍山县| 麻阳| 林周县| 化隆| 阜宁县| 罗源县| 辽阳县| 娄烦县| 福海县| 旺苍县| 文登市| 玉龙| 胶南市| 西畴县| 焦作市| 贺兰县| 偃师市| 兴仁县| 河东区| 明溪县| 赤壁市| 皮山县| 吴桥县| 宝坻区| 黄浦区| 名山县| 苗栗县| 辛集市| 嘉义县| 张家川| 木兰县| 清涧县| 息烽县| 德州市| 宁河县| 通海县| 苍南县|