Heim > Datenbank > MySQL-Tutorial > Wie greife ich mit Tabellenaliasen auf JDBC-ResultSet-Spalten zu?

Wie greife ich mit Tabellenaliasen auf JDBC-ResultSet-Spalten zu?

Patricia Arquette
Freigeben: 2024-12-30 16:06:13
Original
139 Leute haben es durchsucht

How to Access JDBC ResultSet Columns with Table Aliases?

JDBC ResultSet Columns with Table Aliases

Beim Ausführen einer Abfrage wie „SELECT * from table1 a, table2 b where (WHATEVER)“, Zugriff auf Daten mit „resultSet.getString(“a.columnName“)“ oder „resultSet.getString(“b.columnName“)“ schlägt fehl.

Die JDBC-API befasst sich nicht explizit mit diesem Szenario, sodass es herstellerabhängig ist. Sie können dieses Problem jedoch lösen, indem Sie:

Option 1: Spalten umbenennen

Spalten in der Abfrage mithilfe von Aliasen anders benennen, z. B.:

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

Dann verweisen Sie in Ihrem Java-Code auf diese Aliase:

resultSet.getString("columnNameA");
resultSet.getString("columnNameB");
Nach dem Login kopieren

Option 2: Spaltenposition

Beziehen Sie sich auf Spalten nach Position im Ergebnissatz:

resultSet.getString(1);
resultSet.getString(2);
Nach dem Login kopieren

Beachten Sie, dass JDBC eine einsbasierte Indizierung verwendet, beginnend bei 1 für die erste Spalte.

Aus Sicherheits- und Wartbarkeitsgründen wird Option 1 (Spaltenumbenennung) empfohlen. Wenn sich die Spaltenreihenfolge einer Abfrage ändert, bricht Ihr Code automatisch ab, wenn auf die falschen Spalten zugegriffen wird. Im Gegensatz dazu wird beim Ändern von Spaltennamen die Ausnahme „Keine solche Spalte“ ausgelöst, die Sie auf das Problem aufmerksam macht.

Das obige ist der detaillierte Inhalt vonWie greife ich mit Tabellenaliasen auf JDBC-ResultSet-Spalten zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage