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 ստուգումներով։