<T> 如果结果集为空,如何从覆盖的弹簧地图行返回一些东西?



昨天我遇到了一些问题,而我试图从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.

相关内容

  • 没有找到相关文章

最新更新