我正在尝试使用别名的表上的select语句。当我检索结果集时,别名似乎不适用于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!
...
);
答案 0 :(得分:1)
在结果集中,别名不可用,因此不起作用。
您可以更改SELECT it.item_id AS some_item_id * FROM some_item_table AS it
之类的SQL查询,然后执行rs.getInt("some_item_id")
。
在您的查询中,您实际上不需要别名,因为您只有一个表。