Spring 的 SqlRowSet 有 String getString(String columnLabel)
但是,如果我的查询联接了两个具有相同列名的表,则结果集将具有非唯一的列标签。
例如:
select a.name, b.name
from a
join b on a.id=b.id
在运行查询并填充 SqlRowSet 对象后,我调用。
例如:
sqlRowSet.getString("name")
它会 a.name 还我,还是 b.name?
尝试具体,例如使用:
sqlRowSet.getString("a.name")
将抛出错误
如果您有非唯一名称,则需要使用 AS
子句分配唯一标签,或者需要改为按索引检索列。
使用 AS
(请注意,AS
本身 - 在大多数数据库系统中 - 可选):
select a.name AS aname, b.name bname
from a
join b on a.id=b.id
sqlRowSet.getString("aname")
按索引。要检索a.name
:
sqlRowSet.getString(1)