JDBC sẽ chỉ đơn giản là đặt tên cho các cột bởi những gì được quy định trong truy vấn - nó không biết về tên bảng, vv
Bạn có hai lựa chọn:
Lựa chọn 1: Tên các cột khác nhau trong truy vấn, tức là
SELECT
a.columnName as columnNameA,
b.columnName as columnNameB,
...
from table1 a, table2 b where (WHATEVER)
sau đó trong mã java bạn tham khảo các bí danh cột:
resultSet.getString("columnNameA");
resultSet.getString("columnNameB");
Phương án 2: Tham khảo cột vị trí trong lệnh gọi API JDBC:
resultSet.getString(1);
resultSet.getString(2);
Lưu ý rằng API JDBC sử dụng một dựa trên chỉ số - tức là họ đếm từ 1
(không phải từ 0
như chỉ mục java), do đó hãy sử dụng 1
cho cột đầu tiên, 2
cho cột thứ hai, v.v.
Tôi khuyên bạn nên chọn tùy chọn 1, vì an toàn hơn để tham chiếu đến các cột được đặt tên: Ai đó có thể thay đổi thứ tự của các cột trong truy vấn và nó sẽ tự động ngắt mã của bạn (bạn sẽ truy cập sai cột nhưng không biết), nhưng nếu họ thay đổi tên cột, ít nhất bạn sẽ nhận được ngoại lệ "không có cột đó" khi chạy.
vẻ rồi như tôi sẽ phải quên đi những đẹp * và tên tất cả mọi thứ và sử dụng một bản đồ thêm. –