<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jfy3d(劍事)BLOG

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      37 隨筆 :: 0 文章 :: 363 評論 :: 0 Trackbacks

    原理就是用Map存放單條數據然后放到List里

    用起來可以這樣調用  List list = rs.selectRS(sqlStr);

    for(int i=0;i<list.size;i++)
    {
        ((Map)list.get(i)).get("username");
    }
    這樣的話就不用每次在寫數據庫連接了,而且有比較復雜的頁面格式輸出就可以通過對 i 的控制來實現了

    下面是具體實現類可以結合struts,webwork2的標簽來用,我已經測試過了沒問題
    我也看到一些人是自己寫類來代替Map來用的

    package com;

    import conn.DBConnManager;
    import java.sql.*;
    import java.util.*;

    public class ResultGather
    {
     private String sql;
     public ResultGather()
     {
      
     }
     public ResultGather(String sqlcom)
     {
      this.sql=sqlcom;
     }
     public List selectRS(String sqlStr)
     {
      this.sql = sqlStr;
      return selectRS();
     }
     public List selectRS()
     {
      List rsall = new ArrayList();
      Map rsTree;
      DBConnManager conn = null;
      Connection con = null;
      Statement stmt = null;
      ResultSet rs = null;
      try{
       conn = DBConnManager.getInstance();
       con = conn.getConnection("mssql");
       stmt = con.createStatement();
       rs = stmt.executeQuery(sql);
       ResultSetMetaData rsmd = rs.getMetaData();//取數據庫的列名  我覺得名比1,2,3..更好用
       int numberOfColumns = rsmd.getColumnCount();
       while(rs.next())
       {
       rsTree = new HashMap(numberOfColumns);//注意要new
         for(int r=1;r<numberOfColumns+1;r++)
         {
          rsTree.put(rsmd.getColumnName(r),rs.getObject(r)); 
         }
         rsall.add(rsTree);
       }
       
      }catch(java.lang.Exception ex){
       ex.printStackTrace();
      }finally{
       try{
        if(rs!=null)
         rs.close();
        if(stmt!=null)
         stmt.close();
        if(conn!=null)
         conn.releaseConnection("mssql",con);
       }catch(Exception e){
        
       }   
      }
      return rsall;
     }
    }

    簡單的東西 交流交流

    posted on 2005-05-12 00:23 劍事 閱讀(3115) 評論(9)  編輯  收藏 所屬分類: 小程序

    評論

    # re: 封裝數據結果集 2005-05-25 21:55 hcom
    取數據的時候是不是要判斷null的情況?
    否則可能報空指針的錯誤吧?  回復  更多評論
      

    # re: 封裝數據結果集 2005-05-25 22:27 劍事
    這個不用 null不會異常  回復  更多評論
      

    # re: 封裝數據結果集 2005-06-22 09:58 張輝
    # re: 封裝數據結果集 2005-05-25 21:55 hcom
    取數據的時候是不是要判斷null的情況?
    否則可能報空指針的錯誤吧?

    # re: 封裝數據結果集 2005-05-25 22:27 劍事
    這個不用 null不會異常

    調試過,發現問題。第一速度很慢,第二重新刷新或搜索時,發現
    java.lang.NullPointerException
    不知道是什么問題。
    如果知道是什么問題請發Email給我。  回復  更多評論
      

    # re: 封裝數據結果集 2005-06-22 16:09 劍事
    參看那個struts用法

    我至今沒有碰到這樣的問題  回復  更多評論
      

    # re: 封裝數據結果集 2006-01-02 01:03 撒哈拉熊
    有這個必要把這些數據存放在這樣的數據結構里面嗎?

    如果針對內存來說,相同數據量,相比起直接存取結果集,占用率是不是太大了?

    請指教:haolin.jia@gmail.com  回復  更多評論
      

    # re: 撒哈拉熊 2006-01-04 09:11 劍事
    你覺得hibernate有必要出現么

    而且直接在rs輸出站用數據庫連接的時間要大于 封裝時間  回復  更多評論
      

    # re: 封裝數據結果集 2006-03-16 08:45 xfan
    自己寫什么類哦,用spring的jdbc模板干脆
    List lst=jdbcTemplate.queryForList(list);  回復  更多評論
      

    # 回復 xfan 2006-03-16 13:29 xmlspy.spring
    xfan說的對.
    看看兄臺也是spring的fans啊 .
    spring的jdbc template 無論從性能和易用性上都是比較均衡的.
    是目前最佳的選擇 :)


    交流交流 :) --- msn heaven0@hotmal.com :0 :) :) :P) :)   回復  更多評論
      

    # re: 封裝數據結果集 2006-03-16 18:18 劍事
    @xmlspy.spring

    spring的jdbc template 看過 書上講的比較詳細

    設計這個類的那時候我還不知道有個SPRING的東西
    而且用SPRING也要看項目的規模啊
      回復  更多評論
      

    主站蜘蛛池模板: 亚洲一区二区三区丝袜| 久久国产精品免费专区| 国产亚洲免费的视频看| 免费黄色福利视频| 国产亚洲精品国产福利在线观看| 亚洲日产无码中文字幕| 无遮免费网站在线入口| sss日本免费完整版在线观看| 97久久精品亚洲中文字幕无码 | 精品国产日韩亚洲一区在线| 亚洲精品无码不卡在线播HE| 一二三四在线播放免费观看中文版视频| 羞羞的视频在线免费观看| 青青草原精品国产亚洲av| 亚洲AV无码成H人在线观看| 免费视频爱爱太爽了| 久久九九免费高清视频| youjizz亚洲| 亚洲AV日韩AV天堂久久| 国产精品视_精品国产免费| 91久久青青草原线免费| 亚洲精品黄色视频在线观看免费资源 | 一本久久免费视频| 亚洲激情校园春色| 国产一区二区视频免费| 人与禽交免费网站视频| AAAAA级少妇高潮大片免费看| 亚洲综合无码一区二区痴汉| 亚洲avav天堂av在线不卡| 免费看一级做a爰片久久| 青青青国产在线观看免费网站| 福利免费在线观看| 国产精品亚洲精品日韩动图| 亚洲va精品中文字幕| 亚洲精品私拍国产福利在线| 久久亚洲中文字幕精品一区四 | 亚洲美女自拍视频| 亚洲成AV人片一区二区密柚| 亚洲欧洲日本在线| 亚洲成a人片在线观看老师| 精品国产免费一区二区|