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!