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等。
【Java 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);
}}
}
推荐阅读
- Java与MySQL数据库的连接
- Java DriverManager类
- Java无需DSN即可访问的连接
- Java CallableStatement接口
- Java连接interface
- Java中的序列化和反序列化
- JDBC中的批处理
- Windows8谷歌浏览器没有注册类怎样办?
- Win8系统C盘要多大比较合适?