无法获得使用 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。
我正在使用别名尝试 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。