Sorolja fel a JDBC-ben használt fő adat típusokat, és magyarázza el, hogyan kapcsolódnak a Java adat típusaihoz.
sobes.tech MI
Válasz az MI-től
A JDBC fő adat típusokat a java.sql.Types osztály határozza meg. Ezek az SQL szabványos típusokat képviselik. A JVM adat típusokat a Java nyelvi specifikáció határozza meg. A JDBC egy mapping-et biztosít ezek között a típusok között.
A java.sql.Types fő típusai:
BOOLEANTINYINTSMALLINTINTEGERBIGINTREALFLOATDOUBLEDECIMALNUMERICCHARVARCHARLONGVARCHARDATETIMETIMESTAMPBINARYVARBINARYLONGVARBINARYBLOBCLOBNCHARNVARCHARLONGNVARCHARNCLOBSQLXML
A JDBC típusok és a Java típusok közötti mapping adatlekéréskor (a ResultSet-ből):
| JDBC típus | Java típus (get) |
Megjegyzések |
|---|---|---|
BOOLEAN, BIT |
boolean |
|
TINYINT |
byte |
|
SMALLINT |
short |
|
INTEGER |
int |
|
BIGINT |
long |
|
REAL |
float |
|
FLOAT, DOUBLE |
double |
|
DECIMAL, NUMERIC |
java.math.BigDecimal |
Ajánlott |
CHAR, VARCHAR, LONGVARCHAR |
String |
|
DATE |
java.sql.Date |
|
TIME |
java.sql.Time |
|
TIMESTAMP |
java.sql.Timestamp |
|
BINARY, VARBINARY, LONGVARBINARY |
byte[] |
|
BLOB |
java.sql.Blob |
|
CLOB |
java.sql.Clob |
|
NCHAR, NVARCHAR, LONGNVARCHAR |
String |
|
NCLOB |
java.sql.NClob |
|
SQLXML |
java.sql.SQLXML |
Megjegyzés: Numerikus típusok esetén, a primitív típusokon kívül, használhatók a megfelelő wrapper osztályok (Boolean, Byte, Short, Integer, Long, Float, Double) a NULL értékek kezelésére.
Az adatbeállítás (a PreparedStatement-ben): általában fordított mapping-et használnak, de vannak kivételek és preferenciák. Például a DECIMAL esetén jobb a BigDecimal használata.
Használati példa:
// Adatok lekérése a ResultSet-ből
public String getStringValue(ResultSet rs, String columnName) throws SQLException {
// Szöveges érték lekérése a oszlopból
return rs.getString(columnName);
}
// Paraméter beállítása a PreparedStatement-ben
public void setIntValue(PreparedStatement ps, int parameterIndex, int value) throws SQLException {
// Egész szám érték beállítása
ps.setInt(parameterIndex, value);
}