Sobes.tech
Middle

Նշեք JDBC-ում օգտագործվող հիմնական տվյալների տեսակները և բացատրեք, թե ինչպես են դրանք կապված Java-ի տվյալների տեսակների հետ։

sobes.tech AI

Պատասխան AI-ից

Տվյալների տեսակներ SQL Տվյալների տեսակներ Java Նկարագրություն
CHAR, VARCHAR, LONGVARCHAR String Տեքստային տողեր
NUMERIC, DECIMAL BigDecimal Ֆիքսված կետով թվեր
BIT, BOOLEAN boolean Լոգիկական արժեքներ
TINYINT byte Մեկ ամբողջ թիվ -128-ից մինչև 127
SMALLINT short Մեկ ամբողջ թիվ -32768-ից մինչև 32767
INTEGER int Մեկ ամբողջ թիվ
BIGINT long Մեծ ամբողջ թիվ
REAL float Միակողմանի ճշգրիտ թվեր
FLOAT, DOUBLE double Երկկողմանի ճշգրիտ թվեր
BINARY, VARBINARY, LONGVARBINARY byte[] Բնիկ տվյալներ
DATE java.sql.Date Ամսաթիվ (տարի, ամիս, օր)
TIME java.sql.Time Ժամ (ժամ,րոպե,վայրկյան)
TIMESTAMP java.sql.Timestamp Ամսաթիվ և ժամանակ միլիսեկունդներով
BLOB java.sql.Blob Բնիկ տվյալների մեծ չափաբաժին
CLOB java.sql.Clob Տեքստային տվյալների մեծ չափաբաժին
ARRAY java.sql.Array Տվյալների զանգված
STRUCT java.sql.Struct Կառուցված տեսք
REF java.sql.Ref Հղում կառուցված տեսքին
DATALINK java.net.URL Հղում արտաքին ռեսուրսին
JAVA_OBJECT Object Java սերիալիզացված օբյեկտ (կախված իրականացմանից)
ROWID java.sql.RowId Տողային նույնականացուցիչ (կախված տվյալների բազայից)
NCHAR, NVARCHAR, LONGNVARCHAR String Ազգային տեքստային տողեր
NCLOB java.sql.NClob Ազգային տեքստային մեծ չափաբաժին
SQLXML java.sql.SQLXML XML տվյալներ

JDBC (Java Database Connectivity) ստանդարտում սահմանվում են SQL տվյալների տեսակները java.sql.Types դասում: Այս տեսակները հանդիսանում են թվային կոնստանտներ: JDBC վարորդները մապում են այս SQL տեսակները համապատասխան Java տվյալների տեսակների վրա տվյալների ընթերցման և գրելու ժամանակ:

// Օրինակ՝ 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");
// Օրինակ՝ PreparedStatement-ի պարամետրերի սահմանում
pstmt.setString(1, name);
pstmt.setInt(2, id);
pstmt.setBigDecimal(3, value);
pstmt.setDate(4, date);

JDBC-ն փորձում է ապահովել առավելագույն համատեղելիություն, բայց հատուկ կամ vendор-կատարված տեսակների համար կարող են անհրաժեշտ լինել հատուկ մոտեցումներ կամ getObject() / setObject() մեթոդների օգտագործում՝ հետագա տեսակի փոխակերպմամբ կամ instanceof ստուգումներով։