Junior
Navedite glavne tipove podataka koji se koriste u JDBC i objasnite kako su povezani sa tipovima podataka u Javi.
sobes.tech АИ
Одговор од АИ
Основни типови податки JDBC су дефинисани у класи java.sql.Types. Они представљају стандардне SQL типове. JVM типови података у Јави су дефинисани у спецификацији језика. JDBC пружа мапирање (mapping) између ова два скупа типова.
Основни типови у java.sql.Types:
BOOLEANTINYINTSMALLINTINTEGERBIGINTREALFLOATDOUBLEDECIMALNUMERICCHARVARCHARLONGVARCHARDATETIMETIMESTAMPBINARYVARBINARYLONGVARBINARYBLOBCLOBNCHARNVARCHARLONGNVARCHARNCLOBSQLXML
Мапирање између JDBC типова и Java типова при добијању података (из ResultSet):
| JDBC Тип | Java Тип (get) |
Напомене |
|---|---|---|
BOOLEAN, BIT |
boolean |
|
TINYINT |
byte |
|
SMALLINT |
short |
|
INTEGER |
int |
|
BIGINT |
long |
|
REAL |
float |
|
FLOAT, DOUBLE |
double |
|
DECIMAL, NUMERIC |
java.math.BigDecimal |
Препоручено |
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 |
Напомена: За бројчане типове, поред примитивних типова, могу се користити одговарајуће класе-обвивки (Boolean, Byte, Short, Integer, Long, Float, Double) за обраду вредности NULL.
При постављању података (у PreparedStatement) обично се користи обрнуто мапирање, али постоје изузеци и преференције. На пример, за DECIMAL је боље користити BigDecimal.
Пример употребе:
// Метод за добијање података из ResultSet-а
public String getStringValue(ResultSet rs, String columnName) throws SQLException {
// Добијање стринг вредности из колоне
return rs.getString(columnName);
}
// Метод за постављање параметра у PreparedStatement
public void setIntValue(PreparedStatement ps, int parameterIndex, int value) throws SQLException {
// Постављање целобројне вредности
ps.setInt(parameterIndex, value);
}