个性化阅读
专注于IT技术分析

Java DatabaseMetaData接口

DatabaseMetaData接口提供了获取数据库元数据的方法, 例如数据库产品名称, 数据库产品版本, 驱动程序名称, 表总数的名称, 视图总数的名称等。

DatabaseMetaData接口的常用方法

  • public String getDriverName()引发SQLException:它返回JDBC驱动程序的名称。
  • public String getDriverVersion()引发SQLException:它返回JDBC驱动程序的版本号。
  • public String getUserName()引发SQLException:它返回数据库的用户名。
  • public String getDatabaseProductName()引发SQLException:它返回数据库的产品名称。
  • public String getDatabaseProductVersion()引发SQLException:它返回数据库的产品版本。
  • public ResultSet getTables(字符串目录, 字符串schemaPattern, 字符串tableNamePattern, 字符串[]类型)引发SQLException:它返回指定目录表的描述。表格类型可以是TABLE, VIEW, ALIAS, SYSTEM TABLE, SYNONYM等。

如何获取DatabaseMetaData的对象:

Connection接口的getMetaData()方法返回DatabaseMetaData的对象。句法:

public DatabaseMetaData getMetaData()throws SQLException

DatabaseMetaData接口的简单示例:

import java.sql.*;
class Dbmd{
public static void main(String args[]){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con=DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "system", "oracle");
DatabaseMetaData dbmd=con.getMetaData();

System.out.println("Driver Name: "+dbmd.getDriverName());
System.out.println("Driver Version: "+dbmd.getDriverVersion());
System.out.println("UserName: "+dbmd.getUserName());
System.out.println("Database Product Name: "+dbmd.getDatabaseProductName());
System.out.println("Database Product Version: "+dbmd.getDatabaseProductVersion());

con.close();
}catch(Exception e){ System.out.println(e);}
}
}
Output:Driver Name: Oracle JDBC Driver
       Driver Version: 10.2.0.1.0XE
       Database Product Name: Oracle
       Database Product Version: Oracle Database 10g Express Edition
                                 Release 10.2.0.1.0 -Production

显示表总数的DatabaseMetaData接口示例:

import java.sql.*;
class Dbmd2{
public static void main(String args[]){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con=DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "system", "oracle");

DatabaseMetaData dbmd=con.getMetaData();
String table[]={"TABLE"};
ResultSet rs=dbmd.getTables(null, null, null, table);

while(rs.next()){
System.out.println(rs.getString(3));
}

con.close();

}catch(Exception e){ System.out.println(e);}

}
}

显示视图总数的DatabaseMetaData接口示例:

import java.sql.*;
class Dbmd3{
public static void main(String args[]){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con=DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "system", "oracle");

DatabaseMetaData dbmd=con.getMetaData();
String table[]={"VIEW"};
ResultSet rs=dbmd.getTables(null, null, null, table);

while(rs.next()){
System.out.println(rs.getString(3));
}

con.close();

}catch(Exception e){ System.out.println(e);}

}
}
赞(0)
未经允许不得转载:srcmini » Java DatabaseMetaData接口

评论 抢沙发

评论前必须登录!