JDBCda ishlatiladigan asosiy ma'lumotlar turlarini sanab o'ting va ular Java'dagi ma'lumotlar turlari bilan qanday bog'liqligini tushuntiring.
sobes.tech AI
AIdan javob
JDBC ning asosiy ma'lumot turlari java.sql.Types sinfida belgilangan. Ular standart SQL turlarini ifodalaydi. Java JVM ma'lumot turlari til spetsifikatsiyasida belgilangan. JDBC bu ikki tur to'plami o'rtasida (mapping) xaritani ta'minlaydi.
java.sql.Types dagi asosiy turlar:
BOOLEANTINYINTSMALLINTINTEGERBIGINTREALFLOATDOUBLEDECIMALNUMERICCHARVARCHARLONGVARCHARDATETIMETIMESTAMPBINARYVARBINARYLONGVARBINARYBLOBCLOBNCHARNVARCHARLONGNVARCHARNCLOBSQLXML
Ma'lumotlarni olishda (masalan, ResultSet dan): JDBC turlari bilan Java turlari o'rtasidagi xarita:
| JDBC Turi | Java Turi (get) |
Eslatma |
|---|---|---|
BOOLEAN, BIT |
boolean |
|
TINYINT |
byte |
|
SMALLINT |
short |
|
INTEGER |
int |
|
BIGINT |
long |
|
REAL |
float |
|
FLOAT, DOUBLE |
double |
|
DECIMAL, NUMERIC |
java.math.BigDecimal |
Tavsiya etiladi |
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 |
Eslatma: Raqamli turlar uchun, primitiv turlardan tashqari, mos keladigan wrapper sinflar (Boolean, Byte, Short, Integer, Long, Float, Double) NULL qiymatlarni ishlash uchun foydalanilishi mumkin.
Ma'lumotlarni o'rnatishda (masalan, PreparedStatement) odatda teskari xarita ishlatiladi, lekin ba'zi hollarda va afzalliklar mavjud. Masalan, DECIMAL uchun BigDecimal yaxshiroq.
Misol uchun:
// ResultSet'dan ma'lumot olish uchun metod
public String getStringValue(ResultSet rs, String columnName) throws SQLException {
// Ustundan satr qiymatini olish
return rs.getString(columnName);
}
// PreparedStatement'da parametrni o'rnatish uchun metod
public void setIntValue(PreparedStatement ps, int parameterIndex, int value) throws SQLException {
// Butun son qiymatini parametrga o'rnatish
ps.setInt(parameterIndex, value);
}