日期:2014-05-20  浏览次数:20717 次

java 怎么把数据库中符合条件的数据一条条的添加到list里面
java 怎么把数据库中符合条件的数据一条条的添加到list里面

------解决方案--------------------
rs=ps.executeQuery();
ResultSetMetaData rmd=null;
while(rs.next()){
rmd=rs.getMetaData();
Map<String,Object> map=new HashMap<String,Object>();
for(int i=1;i<=rmd.getColumnCount();i++){
map.put(rmd.getColumnName(i),rs.getObject(i));
}
result.add(map);
}
------解决方案--------------------
直接上代码,自己整合一下把.



public java.util.List<String> query(String sql) throws SQLException {
java.util.List<String> list = new java.util.ArrayList<String>();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
//String[] COLNAMES = dealSQL(sql, rs);
list = getResultSet(rs);
ExConnections.close(conn);
return list;
}


//读取ResultSet里面的内容.

private java.util.List<String> getResultSet(ResultSet rs) throws SQLException {
java.util.List<String> list = new java.util.ArrayList<String>();
String reads = "";
String COLTitle = "";
boolean addTitle = false;
ResultSetMetaData rsm = rs.getMetaData();
int count = rsm.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= count; i++) {
reads += rs.getString(i) + "\t\t";//
COLTitle += rsm.getColumnName(i) +"\t\t";
if (i == count) {// When you arrive at the last column,
// the data added to the list.
if (addTitle == false) {
list.add(COLTitle);
list.add("-------------------------------\n");
addTitle = true;
}

// System.out.println(COLname);
list.add(reads);
reads = "";
}
}
}
ExConnections.close(rs);
return list;
}
















------解决方案--------------------
用ibatis框架,有一个访问数据库的接口直接返回一个List,很方便,不用自己封装