昨天我遇到了一些问题,而我试图从mapRow返回一些值
strings.addAll(getJdbcTemplate().query(query, new RowMapper<String>() {
@Override
public String mapRow(ResultSet resultSet, int i) throws SQLException {
if(?????????)
return "--";
else
return resultSet.getString("S_PEOPLE_QUANTITY");
}
}
));
如果我的resultSet包含零行,我如何返回例如"——"?我用什么代替"?????????"?div ?
我不认为你的数据访问代码应该插入自定义值,如"——"的情况下,没有数据。这看起来不像是好的设计。数据访问代码应该返回一个空列表,表示所提供的输入在数据存储中没有数据。
在您的应用程序中,如果您希望在没有可用数据的情况下显示"——",则应该在列表中插入一个"——"。
保持表示/业务逻辑与数据访问逻辑分离,实现将变得更容易开发和维护。
使用这个if条件代替"????????? "
if (!resultSet.next()){
// if this condition is true Resultset is empty
}
来自Java文档
When a call to the next method returns false, the cursor is positioned after the last row.