-1

昨天我在尝试从 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");
        }
    }
));

如果我的结果集包含零行,我如何返回例如“--”?我有什么用而不是“?????????” ?

4

2 回答 2

0

使用此 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.
于 2013-04-19T10:46:35.653 回答
0

我认为您的数据访问代码不应在没有数据的情况下插入自定义值,例如“--”。它看起来不像是好的设计。数据访问代码应返回一个空列表,表示数据存储中没有针对所提供输入的数据。

在您的应用程序中,如果您想在没有可用数据的情况下显示“--”,您应该在列表中插入一个“--”。

将表示/业务逻辑与您的数据访问逻辑分开,实现将变得更容易开发和维护。

于 2013-04-19T10:51:21.920 回答