Mivel az SQL típusok és a Java típusok különböznek egymástól, ezért a paraméter átadás megoldásához szükséges, hogy új úgynevezett JDBC típusokatat vezessünk be, melyek reprezentálják az SQL típusokat. Ezeket a típusokat a java.sql.Types osztály definiálja. A már felépített kapcsolaton keresztül lehetőségünk nyílik arra, hogy mindenféle hasznos információkat kérdezzünk le az adatbázisunkról, illetve a lekérdezés eredménytáblájáról. Előbbit a DatabaseMetaData interfészen, utóbbit a ResultSetMetaData interfészen keresztül kérhetjük le.
A DatabaseMetaData interfészt megvalósító objektumhoz a Connection objektum getMetaData metódusával juthatunk mely az alábbi fontosabb metódusokat tartalmazza:
- getTypeInfo – egy ResultSet típusú objektumot ad vissza, mely tartalmazza az adatbázis illetve a JDBC meghajtó által támogatott JDBC típusokat.
- getUDTs – egy ResultSet típusú objektumot ad vissza, mely tartalmazza a felhasználói típusok leírását egy meghatározott keresési mintán belül. Felhasználói típusnak megadhatunk Types.DISTINCT, Types.STRUCT, és Types.JAVA_OBJECT típusokat, melyeket a későbbiekben részletezni fogok. Ezt a funkciót hiába próbáljuk MySQL esetén, nem fog visszaadni semmit csak egy üres ResultSet objektumot mivel nem támogatja a felhasználói adattípusokat, ellenben például a PostgreSQL adatbáziskezelővel szépen működik.
- getColumns – egy ResultSet típusú objektumot ad vissza, mely minden információt tartalmaz a táblákban lévő mezőkről egy meghatározott keresési mintán belül. Például: COLUMN_NAME, DATA_TYPE, TYPE_NAME, COLUMN_SIZE
A ResultSetMetaData interfészt megvalósító objektumhoz a ResultSet objektum getMetaData metódusával juthatunk mely az alábbi fontosabb metódusokat tartalmazza:
- getColumnType – egy integer értéket ad vissza, mely reprezentálja az SQL-beli típust.
- getColumnTypeName – egy String értéket ad vissza, mely megnevezi az SQL-beli típust.
Típusmegfeleltetés
Az alábbi táblázat megmutatja, hogy adott JDBC típusnak milyen Java típus felel meg:
Center | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Az értékeket lekérdezni, beállítani illetve frissíteni a get<típus> , set<típus> és update<típus> kezdetű metódusokkal lehet.
Viewtracker |
---|