Junior
Uveďte hlavné dátové typy používané v JDBC a vysvetlite, ako sú spojené s dátovými typmi v Jave.
sobes.tech AI
Odpoveď od AI
Hlavné dátové typy JDBC sú definované v triede java.sql.Types. Predstavujú štandardné SQL typy. JVM dátové typy sú definované v špecifikácii jazyka Java. JDBC poskytuje mapovanie (mapping) medzi týmito dvoma sadami typov.
Hlavné typy v java.sql.Types:
BOOLEANTINYINTSMALLINTINTEGERBIGINTREALFLOATDOUBLEDECIMALNUMERICCHARVARCHARLONGVARCHARDATETIMETIMESTAMPBINARYVARBINARYLONGVARBINARYBLOBCLOBNCHARNVARCHARLONGNVARCHARNCLOBSQLXML
Mapovanie medzi JDBC typmi a Java typmi pri získavaní dát (z ResultSet):
| JDBC typ | Java typ (get) |
Poznámky |
|---|---|---|
BOOLEAN, BIT |
boolean |
|
TINYINT |
byte |
|
SMALLINT |
short |
|
INTEGER |
int |
|
BIGINT |
long |
|
REAL |
float |
|
FLOAT, DOUBLE |
double |
|
DECIMAL, NUMERIC |
java.math.BigDecimal |
Odporúča sa |
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 |
Poznámka: Pre číselné typy, okrem primitívnych, je možné použiť aj príslušné obalové triedy (Boolean, Byte, Short, Integer, Long, Float, Double) na spracovanie hodnôt NULL.
Pri nastavovaní dát (v PreparedStatement) sa zvyčajne používa opačné mapovanie, ale existujú výnimky a preferencie. Napríklad, pre DECIMAL je lepšie použiť BigDecimal.
Príklad použitia:
// Metóda na získanie dát z ResultSet
public String getStringValue(ResultSet rs, String columnName) throws SQLException {
// Získanie reťazcovej hodnoty zo stĺpca
return rs.getString(columnName);
}
// Metóda na nastavenie parametra v PreparedStatement
public void setIntValue(PreparedStatement ps, int parameterIndex, int value) throws SQLException {
// Nastavenie celého čísla
ps.setInt(parameterIndex, value);
}