无法获得使用 spring jdbcTemplate 的 table 别名

Unable to get table alias working with spring jdbcTemplate

我正在使用别名尝试 select 对 table 的声明。当我检索结果集时,别名似乎不适用于 it.item_id。它适用于 item_id。知道我哪里出错了吗?

getJdbcTemplate().query((connection) -> {
            PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM some_item_table AS it WHERE it.item_id = ?");
            preparedStatement.setString(1, 123);
            return preparedStatement;
        }, (rs, i) -> product()
                .setId(rs.getInt("it.item_id"))// NOT WORKING
                //.setId(rs.getInt("item_id")) THIS WORKS!
                ...
                );

在结果集中,别名不可用,因此它不起作用。

您可以将 SQL 查询更改为 SELECT it.item_id AS some_item_id * FROM some_item_table AS it 然后您可以 rs.getInt("some_item_id").

在您的查询中,您实际上不需要别名,因为您只有一个 table。