Sobes.tech
Junior

JDBC-də istifadə olunan əsas məlumat növlərini sadalayın və onların Java-dakı məlumat növləri ilə necə əlaqəli olduğunu izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

JDBC-nin əsas məlumat tipləri java.sql.Types sinifində müəyyən edilmişdir. Bunlar standart SQL tiplərini təmsil edir. Java-da JVM məlumat tipləri dilin spesifikasiyasında müəyyən edilmişdir. JDBC bu iki tip dəstləri arasında xəritələşdirmə (mapping) təmin edir.

java.sql.Types içində əsas tiplər:

  • BOOLEAN
  • TINYINT
  • SMALLINT
  • INTEGER
  • BIGINT
  • REAL
  • FLOAT
  • DOUBLE
  • DECIMAL
  • NUMERIC
  • CHAR
  • VARCHAR
  • LONGVARCHAR
  • DATE
  • TIME
  • TIMESTAMP
  • BINARY
  • VARBINARY
  • LONGVARBINARY
  • BLOB
  • CLOB
  • NCHAR
  • NVARCHAR
  • LONGNVARCHAR
  • NCLOB
  • SQLXML

JDBC tipləri və Java tipləri arasında məlumatların alınması zamanı xəritələşdirmə (ResultSet-dən):

JDBC Tipi Java Tipi (get) Qeyd
BOOLEAN, BIT boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT, DOUBLE double
DECIMAL, NUMERIC java.math.BigDecimal Tövsiyə olunur
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

Qeyd: Rəqəmsal tiplər üçün, primitiv tiplərdən başqa, uyğun sınaq sinifləri (Boolean, Byte, Short, Integer, Long, Float, Double) istifadə edilə bilər NULL dəyərlərinin işlənməsi üçün.

Məlumatların qurulması zamanı xəritələşdirmə (PreparedStatement-də): ümumiyyətlə, əks xəritələşdirmə istifadə olunur, lakin istisnalar və üstünlüklər mövcuddur. Məsələn, DECIMAL üçün BigDecimal istifadə etmək daha yaxşıdır.

İstifadə nümunəsi:

// ResultSet-dən məlumat alma metodu
public String getStringValue(ResultSet rs, String columnName) throws SQLException {
    // Sətir dəyərini əldə edin
    return rs.getString(columnName);
}

// PreparedStatement-də parametr qurma metodu
public void setIntValue(PreparedStatement ps, int parameterIndex, int value) throws SQLException {
    // Tam ədəd dəyərini qurun
    ps.setInt(parameterIndex, value);
}