我正在嘗試編寫一個函數,該函數返回表中特定用戶的所有old_password值。 但是,我不知道如何正確格式化。Java中的查詢函數,返回單列中所有值的列表
public List<String> fetchPasswordHistory(int userId) {
String query = "SELECT NEW_PASSWORD FROM PASSWORD_HISTORY WHERE USER_ID = ?";
List<String> strLst = jdbcTemplate.query(query,new RowMapper<String>() {
@Override
public String mapRow(ResultSet rs, int rowNum) throws SQLException {
return rs.getString(3);
}
}, userId);
if (strLst.isEmpty()) {
return null;
}
else {
return strLst;
}
}
這將給出表中前3個字符串。我希望它返回從該查詢生成的每個值。 ,然後我將比較用戶的待處理新密碼與數據庫中的所有舊密碼,以便用戶不重複密碼。
此外,如果查詢不返回任何內容,則會中斷。 有什麼幫助嗎?
我建議返回null而不是空的列表是違反行爲。 – khelwood
在'if(strLst.isEmpty())'是NPE嗎?如果是這樣,那麼'if(null == strList || strLst.isEmpty())' – Vadim