编写一个程序来获取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