ResultSet结果集返回给一个数组

来源:互联网 发布:遥控飞机手机遥控软件 编辑:程序博客网 时间:2024/05/21 11:34

最近的项目使用jdbc进行数据库操作比较多,result set返回数据的操作从网上搜索总结如下:


public String[] search(){

List<String> list = new ArrayList<String>();
String sql = "select name from user" ;
try {
conn = DBUtil.getConnection();//连接数据库的
ps = conn.prepareStatement(sql);

ResultSet rs= ps.executeQuery();
while(rs.next()){
list.add(rs.getString(1));
}

conn.commit();
} catch (SQLException e) {
e.printStackTrace();

return null ;
}catch(Exception e){
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
String user[] = (String[])list.toArray(new String[list.size()]);
return user;

}



【方法1】借助bean的办法

 

//rs是一个查询语句所返回的结果集

 

ResultSet rs=new ResultSet();

rs=pstmt.executeQuery();

//将rs逐条取出,并将每一项放在一个bean对应的值里

               while(rs.next())

               { 

                 RecBean rec=new RecBean();

                 rec.setId(rs.getInt(1));

                 rec.setAgentNo(rs.getString(2));

                rec.setFileName(rs.getString(3));

                list.add(rec);

                }

2

【方法2】借助ResultSetMetaData 和Map

 

private static List convertList(ResultSet rs) throws SQLException {

        List list = new ArrayList();

        ResultSetMetaData md = rs.getMetaData();

        int columnCount = md.getColumnCount();

        while (rs.next()) {

            Map rowData = new HashMap();

            for (int i = 1; i <= columnCount; i++) {

                rowData.put(md.getColumnName(i), rs.getObject(i));

            }

            list.add(rowData);

        }

        return list;

}



参考  https://zhidao.baidu.com/question/570803297.html

http://jingyan.baidu.com/article/8065f87f80dd5c233124980f.html


0 0