我的代碼多次返回對象,但同一個記錄,因爲相同的對象引用正在經歷。請建議進行一些修改,以便獲取所有記錄而不重複相同的行。數據庫中有不同記錄時返回相同的記錄?
DBConnection con = null;
List<UserModel> users= new ArrayList<UserModel>();
UserModel userModel = null;
try {
con = new DBConnection();
LOGGER.info("############### DBUtils.getUsers() start");
ResultSet rs = null;
PreparedStatement pstmt = null;
pstmt = con.connection.prepareStatement(
DBUtils.Select.USERS);
pstmt.setString(1, user);
pstmt.setString(2, pwd);
rs = pstmt.executeQuery();
while (rs.next()) {
userModel = new UserModel();
userModel.setName(rs.getString("NAME"));
userModel.setUserId(rs.getString("USERID"));
userModel.setPassword(rs.getString("PASSWORD"));
userModel.setAccountDeleted(rs.getString("ACCOUNT_DELETED"));
userModel.setAccountEnabled(rs.getString("ACCOUNT_ENABLED"));
userModel.setAccountExpired(rs.getString("ACCOUNT_EXPIRED"));
userModel.setCreationTime(rs.getString("CREATION_TIME"));
userModel.setDeletionTime(rs.getString("DELETION_TIME"));
userModel.setCredentialsExpired(rs
.getString("CREDENTIALS_EXPIRED"));
userModel.setPermissions(rs.getString("PERMISSIONS"));
userModel.setLastLoginTime(rs.getString("LAST_LOGIN_TIME"));
LOGGER.info("############### DBUtils.getUsers() users : "+userModel);
users.add(userModel);
}
LOGGER.info("############### DBUtils.getUsers() users : "+users);
} catch (SQLException e) {
e.printStackTrace();
}
finally{
if(con!= null){
con.closeConnection();
}
}
你可以發佈記錄器 – Madhan