Child pages
  • A JDBC típusok
Skip to end of metadata
Go to start of metadata

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:

JDBC Type Java Type
CHARString
VARCHARString
LONGVARCHARString
NUMERICjava.math.BigDecimal
DECIMALjava.math.BigDecimal
BITboolean
BOOLEANboolean
TINYINTbyte
SMALLINTshort
INTEGERint
BIGINTlong
REALfloat
FLOATdouble
DOUBLEdouble
BINARYbyte[]
VARBINARYbyte[]
LONGVARBINARYbyte[]
DATEjava.sql.Date
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
CLOBClob
BLOBBlob
ARRAYArray
DISTINCTmapping of underlying type
STRUCTStruct
REFRef
DATALINKjava.net.URL
JAVA_OBJECTunderlying Java class

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.

      
      
Page viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels