Sobes.tech
Middle

Išvardykite pagrindinius duomenų tipus, naudojamus JDBC, ir paaiškinkite, kaip jie susiję su Java duomenų tipais.

sobes.tech AI

Atsakymas iš AI

SQL duomenų tipai Java duomenų tipai Aprašymas
CHAR, VARCHAR, LONGVARCHAR String Žodžių eilutės
NUMERIC, DECIMAL BigDecimal Fiksuotosios dalies skaičiai
BIT, BOOLEAN boolean Loginės reikšmės
TINYINT byte Sveikasis skaičius nuo -128 iki 127
SMALLINT short Sveikasis skaičius nuo -32768 iki 32767
INTEGER int Sveikasis skaičius
BIGINT long Didelis sveikasis skaičius
REAL float Vieno tikslumo slankusis kablelis
FLOAT, DOUBLE double Dvigubo tikslumo slankusis kablelis
BINARY, VARBINARY, LONGVARBINARY byte[] Dvejetainiai duomenys
DATE java.sql.Date Data (metai, mėnuo, diena)
TIME java.sql.Time Laikas (valanda, minutė, sekundė)
TIMESTAMP java.sql.Timestamp Data ir laikas su milisekundėmis
BLOB java.sql.Blob Didelis dvejetainis objektas
CLOB java.sql.Clob Didelis simbolinis objektas
ARRAY java.sql.Array Masyvas reikšmių
STRUCT java.sql.Struct Struktūruotas tipas
REF java.sql.Ref Nuoroda į struktūruotą tipą
DATALINK java.net.URL Nuoroda į išorinį šaltinį
JAVA_OBJECT Object Java serijalizuotas objektas (priklauso nuo įgyvendinimo)
ROWID java.sql.RowId Eilutės identifikatorius (priklauso nuo DBMS)
NCHAR, NVARCHAR, LONGNVARCHAR String Nacionalinės simbolių eilutės
NCLOB java.sql.NClob Nacionalinis simbolių didelis objektas
SQLXML java.sql.SQLXML XML duomenys

JDBC (Java Database Connectivity) standartas apibrėžia standartinius SQL duomenų tipus java.sql.Types klasėje. Šie tipai yra skaitmeniniai konstantai. JDBC tvarkyklės šiuos SQL tipus mapuoja į tinkamus Java duomenų tipus duomenų skaitymui ir rašymui:

// Pavyzdys, kaip gauti duomenis iš ResultSet
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");
// Pavyzdys, kaip nustatyti parametrus PreparedStatement
pstmt.setString(1, name);
pstmt.setInt(2, id);
pstmt.setBigDecimal(3, value);
pstmt.setDate(4, date);

JDBC siekia užtikrinti maksimalų suderinamumą, tačiau specifiniai arba gamintojo priklausomi duomenų tipai gali reikalauti specialių metodų arba getObject() / setObject() naudojimo, po to vykdant tipų konvertavimą arba instanceof patikrinimus.