java 將數據庫中的每一條數據取出放入數組或者List中


1、如何將數據庫中數據按照行(即一整條數據)取出來,存入到數組當中?

 

    public static String str = null; // 將StringBuffer轉化成字符串
    public static StringBuffer sb = new StringBuffer(); // StringBuffer便於字符串的增刪改查操作

    public static void main(String[] args) {

        String className = "net.sourceforge.jtds.jdbc.Driver";
        String url = "jdbc:jtds:sqlserver://localhost:3306/test";
        String dbusername = "shujuku"; // 數據庫的名字
        String password = "mima"; // 密碼
        // 加載驅動
        try {
            Class.forName(className);
            // 建立連接
            Connection conn;
            try {
                conn = DriverManager.getConnection(url, dbusername, password);
                Statement stat = conn.createStatement();
                String sql = "select * from test"; // 將數據從數據庫中讀取出來
                ResultSet rs = stat.executeQuery(sql);

                // 從ResultSet中將數據取出(假如數據庫中每條數據有7列數據)
                while (rs.next()) {
                    sb.append(rs.getString(1)); // 讀出每一列的數據
                    sb.append("*"); // 在每列數據后面做標記,將來便於做拆分
                    sb.append(rs.getString(2));
                    sb.append("*");
                    sb.append(rs.getString(3));
                    sb.append("*");
                    sb.append(rs.getString(4));
                    sb.append("*");
                    sb.append(rs.getString(5));
                    sb.append("*");
                    sb.append(rs.getString(6));
                    sb.append("*");
                    sb.append(rs.getString(7));
                    sb.append("%"); // 在每條數據后面做標記,便於拆分
                }
                str = sb.toString(); // 將數據由StringBuffer類型轉化成String類型
                String datas;
                // 將總數據以指定字符分割成數組,每條數據為數組的一項
                String[] params = StringUtils.split(str, "%");
               //將每條數據再拆分,則param數據保存的是一條數據的每一項數據
               for (int i = 0; i < params.length; i++) {
             String[] param = StringUtils.split(this.rawData, "*");
               //將數據進行你希望的操作,我進行的操作是對每條數據處理,然后再存入數據庫另一張表中
        }

 

 

 

2、如何存到List里面?

 

while(rs.next()){
        Map<String ,Object> map=new HashMap<String, Object>();
        map.put("id",rs.getString(1));
        map.put("itemName",rs.getString(2));
        map.put("version",rs.getString(3));
        map.put("contents",rs.getString(4));
        map.put("account",rs.getString(5));
        map.put("psw",rs.getString(6));
        map.put("tyTime",rs.getString(7));
        listDatas.add(map);
                }

那么問題又來了:

問:假如我將ResultSet中的數據存到了List<Map<>>中,請問,如何將List里面的數據取出來?

答:可以先for循環,取出來List中的每條數據(Map<>形式的),放到一個Map中,再把Map中的數據取出來存到String數組當中

例如:

for(int i=0;i<list.size();i++){
 Map dqMap = (Map)list.get(i);
 String jqh = dqMap.get('jqh');
 String khh = dqMap.get('khh');
}

 

     好了,我只能幫到這里了,注意下,這個是我手改了一下之前做的項目里面的代碼,把隱私的數據去掉了,但是沒運行代碼,應該沒錯,這是我根據項目要求自己琢磨的對ResultSet的處理方式,至於好不好就不知道了,僅供參考了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM