开发者

Resultset To List

I want to convert my Resultset to List in my JSP page. and want to display all the values. This is my query:

SELECT userId, userName 
  FROM user;

I have executed that using preparedstatement and got the Resultset. But how to convert it as a List and want to display the result like this:

userID  userName
开发者_开发技巧------------------
1001    user-X 
1006    user-Y  
1007    user-Z


You need to iterate over the ResultSet object in a loop, row by row, to pull out each column value:

List ll = new LinkedList();
ResultSet rs = stmt.executeQuery("SELECT userid, username FROM USER");

// Fetch each row from the result set
while (rs.next()) {
  int i = rs.getInt("userid");
  String str = rs.getString("username");

  //Assuming you have a user object
  User user = new User(i, str);

  ll.add(user);
}


A ResultSet should never get as far as a JSP. It should be mapping into a data structure or object and closed inside the method scope in which it was created. It's a database cursor, a scarce resource. Your app will run out of them soon if you persist with such a design.


You could always use Commons DbUtils and the MapListHandler. From the doc:

ResultSetHandler implementation that converts a ResultSet into a List of Maps

so it'll take a lot of boilerplate code out of your hands.


        var rs = stmt.executeQuery();
        List<Map<String, Object>> result = new ArrayList<>();

        while (rs.next()) {
            Map<String, Object> resMap = new HashMap<>();
            for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                resMap.put(rs.getMetaData().getColumnName(i), rs.getObject(i));
            }
            result.add(resMap);
        }


You can make a list of lists.

   ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
   ResultSetMetaData rsmd = rs.getMetaData();
   int numberOfColumns = rsmd.getColumnCount();

   List row = null;
   List table = new List();

   while(rs.next())
   {
       for(int i = 0; i < n; i++)
          row.add(rs.next(i);

       tabla.add(row)
   }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜