Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengakses Lajur JDBC ResultSet dengan Alias ​​Jadual?

Bagaimana untuk Mengakses Lajur JDBC ResultSet dengan Alias ​​Jadual?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 16:06:13202semak imbas

How to Access JDBC ResultSet Columns with Table Aliases?

Lajur JDBC ResultSet dengan Alias ​​Jadual

Apabila melaksanakan pertanyaan seperti "PILIH * daripada jadual1 a, jadual2 b di mana (APA)", mengakses data dengan "resultSet.getString("a.columnName")" atau "resultSet.getString("b.columnName")" gagal.

API JDBC tidak menangani senario ini secara eksplisit, menjadikannya bergantung kepada vendor. Walau bagaimanapun, anda boleh menyelesaikan isu ini dengan:

Pilihan 1: Penamaan Semula Lajur

Namakan lajur secara berbeza dalam pertanyaan menggunakan alias, seperti:

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

Kemudian rujuk alias ini dalam Java anda kod:

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

Pilihan 2: Kedudukan Lajur

Rujuk lajur mengikut kedudukan dalam set hasil:

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

Perhatikan bahawa JDBC menggunakan pengindeksan berasaskan satu, bermula dari 1 untuk lajur pertama.

Untuk keselamatan dan kebolehselenggaraan, Pilihan 1 (Penamaan Semula Lajur) disyorkan. Jika susunan lajur pertanyaan berubah, kod anda akan pecah secara senyap apabila mengakses lajur yang salah. Sebaliknya, menukar nama lajur akan menimbulkan pengecualian "tiada lajur sedemikian", memaklumkan anda tentang isu itu.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Lajur JDBC ResultSet dengan Alias ​​Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn