將JDBC ResultSet結果集轉成List


package test;

import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.SQLException;
public class DBHelper {
     public static final String url = "jdbc:mysql://127.0.0.1/peixian";  
        public static final String name = "com.mysql.jdbc.Driver";  
        public static final String user = "root";  
        public static final String password = "root";
     
        public Connection conn = null;  
        public PreparedStatement pst = null;  
     
        public  DBHelper(String sql) {  
            try {  
                Class.forName(name);//指定連接類型  
                conn = DriverManager.getConnection(url,user,password);//獲取連接  
                pst = conn.prepareStatement(sql);//准備執行語句  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
     
        public void close() {  
            try {  
                this.conn.close();  
                this.pst.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }
   
}
//==============執行demo
package test;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Demo {  
    static String sql = null;  
    static DBHelper db1 = null;  
    static ResultSet ret = null;  
    
    public static void main(String[] args) {  
        sql = "select *from xy_sys_menu";//SQL語句  
        db1 = new DBHelper(sql);//創建DBHelper對象
        
        try {  
            List<Map<String,Object>>list=new ArrayList<Map<String,Object>>();
            ret = db1.pst.executeQuery();//執行語句,得到結果集  
            ResultSetMetaData md = ret.getMetaData(); //獲得結果集結構信息,元數據
            int columnCount = md.getColumnCount();   //獲得列數 
            while (ret.next()) {
                Map<String,Object> rowData = new HashMap<String,Object>();
                for (int i = 1; i <= columnCount; i++) {
                    rowData.put(md.getColumnName(i), ret.getObject(i));
                }
                list.add(rowData);
     
            }
            System.out.println("list============="+list);
            ret.close();  
            db1.close();//關閉連接  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
    }
    
}

 


免責聲明!

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



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