JDBCは、クエリで指定された名前で列に名前を付けるだけです。テーブル名などはわかりません。
2つのオプションがあります:
オプション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);
JDBCAPIは1ベースを使用することに注意してください インデックス-つまり、1
からカウントします (0
からではありません Javaインデックスのように)、1
を使用します 最初の列は2
2列目など
名前付き列を参照する方が安全なので、オプション1をお勧めします。誰かがクエリ内の列の順序を変更し、コードを黙って壊してしまう可能性があります(間違った列にアクセスしているのにわかりません)ただし、列名が変更された場合は、実行時に少なくとも「そのような列はありません」という例外が発生します。