編寫一個程式來獲取JDBC中所有支援的資料型別的列表?
名為`java.sql`包中的`Types`類包含表示SQL資料型別的常量。所有這些資料型別都由唯一的整數值表示。
從Types類中檢索整數值
要列印`java.sql.Types`類中所有常量的類名和值:
- **檢索Types類中的所有欄位** - `Class`類的`getFields()`方法返回一個數組,該陣列包含當前`Class`物件表示的類/介面的所有欄位(公共欄位)。使用此方法檢索`Types`類的欄位陣列,如下所示:
Field[] fields = java.sql.Types.class.getFields();
- **檢索每個欄位的名稱和值** - `Field`類的`getName()`方法返回當前欄位物件表示的欄位的名稱。
- 同樣,`Field`類的`get()`方法返回當前欄位物件表示的欄位的值。
- 使用這兩個方法列印`Types`類的每個欄位的名稱和值,如下所示:
for(int i = 0; i<fields.length; i++) {
//Retrieving the name of the field
String name = fields[i].getName();
//Retrieving the value of the field
int value = (int) fields[i].get(null);
System.out.println(name+" : "+value);
}示例
以下Java程式檢索並列印`java.sql.Types`類表示的所有資料型別及其值。
import java.sql.Connection;
import java.sql.DriverManager;
import java.lang.reflect.Field;
public class ListOfDatatypes {
public static void main(String args[])throws Exception {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String mysqlUrl = "jdbc:mysql:///sampledatabase";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established: "+con);
//Retrieving all the fields
Field[] fields = java.sql.Types.class.getFields();
for(int i = 0; i<fields.length; i++) {
//Retrieving the name of the field
String name = fields[i].getName();
//Retrieving the value of the field
int value = (int) fields[i].get(null);
System.out.println(name+" : "+value);
}
}
}輸出
Connection established: com.mysql.jdbc.JDBC4Connection@4fccd51b BIT : -7 TINYINT : -6 SMALLINT : 5 INTEGER : 4 BIGINT : -5 FLOAT : 6 REAL : 7 DOUBLE : 8 NUMERIC : 2 DECIMAL : 3 CHAR : 1 VARCHAR : 12 LONGVARCHAR : -1 DATE : 91 TIME : 92 TIMESTAMP : 93 BINARY : -2 VARBINARY : -3 LONGVARBINARY : -4 NULL : 0 OTHER : 1111 JAVA_OBJECT : 2000 DISTINCT : 2001 STRUCT : 2002 ARRAY : 2003 BLOB : 2004 CLOB : 2005 REF : 2006 DATALINK : 70 BOOLEAN : 16 ROWID : -8 NCHAR : -15 NVARCHAR : -9 LONGNVARCHAR : -16 NCLOB : 2011 SQLXML : 2009 REF_CURSOR : 2012 TIME_WITH_TIMEZONE : 2013 TIMESTAMP_WITH_TIMEZONE : 2014
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP