Sobes.tech
Middle

JDBC'de kullanılan temel veri türlerini listeleyin ve bunların Java veri türleriyle nasıl ilişkili olduğunu açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

SQL Veri Tipi Java Veri Tipi Açıklama
CHAR, VARCHAR, LONGVARCHAR String Karakter dizileri
NUMERIC, DECIMAL BigDecimal Sabit noktalı sayılar
BIT, BOOLEAN boolean Mantıksal değerler
TINYINT byte -128 ile 127 arasında tam sayı
SMALLINT short -32768 ile 32767 arasında tam sayı
INTEGER int Tam sayı
BIGINT long Büyük tam sayı
REAL float Tek hassasiyetli kayan nokta sayısı
FLOAT, DOUBLE double Çift hassasiyetli kayan nokta sayısı
BINARY, VARBINARY, LONGVARBINARY byte[] İkili veriler
DATE java.sql.Date Tarih (yıl, ay, gün)
TIME java.sql.Time Zaman (saat, dakika, saniye)
TIMESTAMP java.sql.Timestamp Milisaniyeli tarih ve saat
BLOB java.sql.Blob Büyük boyutlu ikili nesne
CLOB java.sql.Clob Büyük boyutlu karakter nesnesi
ARRAY java.sql.Array Dizi değerleri
STRUCT java.sql.Struct Yapılandırılmış tip
REF java.sql.Ref Yapılandırılmış tipe referans
DATALINK java.net.URL Dış kaynağa bağlantı
JAVA_OBJECT Object Serileştirilmiş Java nesnesi (uygulamaya bağlı)
ROWID java.sql.RowId Satır kimliği (veritabanına bağlı)
NCHAR, NVARCHAR, LONGNVARCHAR String Ulusal karakter dizileri
NCLOB java.sql.NClob Ulusal karakter nesnesi büyük boyutlu
SQLXML java.sql.SQLXML XML verileri

JDBC (Java Database Connectivity) standardı, SQL veri tiplerini java.sql.Types sınıfında tanımlar. Bu tipler sayısal sabitlerdir. JDBC sürücüleri, bu SQL tiplerini uygun Java veri tiplerine eşlerken, veritabanından veri okuma sırasında (örneğin, ResultSet'in getXXX() metodlarıyla) ve veritabanına yazma sırasında (örneğin, PreparedStatement'in setXXX() metodlarıyla) kullanılır.

Eşleme, belirli bir veritabanı için JDBC sürücüsünün, veritabanının içsel veri tipleri ile java.sql.Types arasındaki eşlemeyi nasıl uyguladığına bağlıdır ve ardından Java veri tiplerine dönüştürür. Bu eşleme, JDBC spesifikasyonunda belgelenmiştir ve sürücüler arasında hafif farklılıklar gösterebilir, ancak tabloda gösterilen temel eşlemeler standarttır.

Örnek ResultSet'ten veri alma:

// rs bir ResultSet nesnesi varsayılır
String name = rs.getString("column_name_varchar");
int id = rs.getInt("column_name_integer");
BigDecimal value = rs.getBigDecimal("column_name_numeric");
Date date = rs.getDate("column_name_date");

PreparedStatement'te parametre ayarlama örneği:

// pstmt bir PreparedStatement nesnesi varsayılır
String name = "Test Name";
int id = 123;
BigDecimal value = new BigDecimal("100.50");
Date date = new Date(System.currentTimeMillis());

pstmt.setString(1, name); // 1 - parametre numarası (1'den başlar)
pstmt.setInt(2, id);
pstmt.setBigDecimal(3, value);
pstmt.setDate(4, date);

JDBC, maksimum uyumluluğu sağlamaya çalışır, ancak belirli veya satıcıya özel veri tipleri için özel yaklaşımlar veya getObject() / setObject() metodlarının kullanımı gerekebilir.