如何将结果集转换为列表?我正在使用以下代码,但它无法正常工作
private List<User> convertToList(ResultSet rs) {
List<User> userList = new ArrayList();
User user = new User();
try {
while (rs.next()) {
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setFname(rs.getString("fname"));
user.setLname(rs.getString("lname"));
user.setUsertype(rs.getInt("usertype"));
user.setPasswd(rs.getString("passwd"));
user.setEmail(rs.getString("email"));
userList.add(user);
}
} catch (SQLException ex) {
Logger.getLogger(UserDAO.class.getName()).log(Level.SEVERE, null, ex);
} finally {
closeConnection();
}
return userList;
}
最佳答案
i am using following code but its not working properly
这没有描述问题。
作为一种猜测,我会说您的列表中只有一个用户对象。这是因为每次从 ResultSet 中读取新行时都需要创建一个新的 User() 对象:
//User user = new User();
try {
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setFname(rs.getString("fname"));
user.setLname(rs.getString("lname"));
user.setUsertype(rs.getInt("usertype"));
user.setPasswd(rs.getString("passwd"));
user.setEmail(rs.getString("email"));
userList.add(user);
}
关于java - 将结果集转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2933904/