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

          自己寫了一個簡單的Dao

          Posted on 2006-04-10 09:22 壯士日志 閱讀(726) 評論(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();
          }
          }

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


          網站導航:
           
          主站蜘蛛池模板: 泸定县| 瑞安市| 库伦旗| 天水市| 西乌| 盐池县| 罗江县| 昌邑市| 乐安县| 平利县| 洪湖市| 桓仁| 民和| 乌兰察布市| 美姑县| 盐津县| 广河县| 通化县| 金华市| 望江县| 天台县| 广西| 伊吾县| 新乡市| 略阳县| 水富县| 永登县| 蕲春县| 巨鹿县| 堆龙德庆县| 苍溪县| 眉山市| 尚志市| 兴安县| 随州市| 微博| 肥乡县| 乡城县| 淮安市| 资兴市| 图片|