JDBC ResultSet获取具有表别名的列

JDBC ResultSet获取具有表别名的列,第1张

JDBC ResultSet获取具有表别名的列

JDBC将仅通过查询中指定的名称来命名列-它不知道表名等。

您有两种选择:

选项1: 在查询中使用不同的名称命名列,即

SELECt    a.columnName as columnNameA,    b.columnName as columnNameB,    ...from table1 a, table2 b where (WHATEVER)

然后在您的Java代码中参考列别名:

resultSet.getString("columnNameA");resultSet.getString("columnNameB");

选项2: 在对JDBC API的调用中,参考列的 位置

resultSet.getString(1);resultSet.getString(2);

请注意,JDBC API使用 基于 索引的索引-即它们从

1
(而不是
0
像Java索引一样)计数,因此
1
用于第一列,
2
第二列等。

我建议使用选项1,因为引用命名的列更安全:有人可以更改查询中列的顺序,这会无声地破坏您的代码(您将访问错误的列,但不知道),但是如果它们更改列名,您至少会在运行时收到“无此列”异常。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5176445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存