结果集到列表

Gna*_*air 21 java jsp jdbc

我想在我的JSP页面中将我的Resultset转换为List.并希望显示所有值.这是我的查询:

SELECT userId, userName 
  FROM user;
Run Code Online (Sandbox Code Playgroud)

我已使用preparedstatement执行了该操作并获得了Resultset.但是如何将其转换为List并希望显示如下结果:

userID  userName
------------------
1001    user-X 
1006    user-Y  
1007    user-Z
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 35

您需要逐行遍历循环中的ResultSet对象,以提取每个列值:

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);
}
Run Code Online (Sandbox Code Playgroud)

  • 没错,但这并不重要,因为问题只涉及从ResultSet对象中获取数据. (2认同)

Bri*_*new 6

你总是可以使用Commons DbUtilsMapListHandler.来自doc:

ResultSetHandler实现,将ResultSet转换为Maps列表

因此,你手中需要很多样板代码.


duf*_*ymo 5

ResultSet永远不应该像JSP那样.它应该映射到数据结构或对象,并在创建它的方法范围内关闭.它是一个数据库游标,一种稀缺资源.如果你坚持使用这样的设计,你的应用程序很快就会耗尽它们.