JDBC元数据-DatabaseMetaData
1 DatabaseMetaData介绍
DatabaseMetaData接口提供了获取数据库元数据的方法,例如数据库产品名称,数据库产品版本,驱动程序名称,表总数量,视图总数量等。
2 DatabaseMetaData接口方法
方法 | 说明 |
---|---|
public String getDriverName()throws SQLException | 返回JDBC驱动程序的名称 |
public String getDriverVersion()throws SQLException | 返回JDBC驱动程序的版本号 |
public String getUserName()throws SQLException | 返回数据库的用户名 |
public String getDatabaseProductName()throws SQLException | 返回数据库的产品名称 |
public String getDatabaseProductVersion()throws SQLException | 返回数据库的产品版本 |
public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)throws SQLException | 返回指定目录表的类型。表格类型可以是TABLE,VIEW,ALIAS,SYSTEM TABLE,SYNONYM等 |
3 获取DatabaseMetaData对象
Connection接口的getMetaData() 方法返回DatabaseMetaData的对象。语法为:
public DatabaseMetaData getMetaData()throws SQLException
4 DatabaseMetaData简单示例
4.1 编写测试类
DatabaseMetaDataDemo:
package com.yiidian;
import java.sql.*;
/**
* 一点教程网 - http://www.yiidian.com
*/
public class DatabaseMetaDataDemo {
public static void main(String args[])throws Exception {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test","root","root");
DatabaseMetaData dbmd=con.getMetaData();
System.out.println("驱动名称: "+dbmd.getDriverName());
System.out.println("驱动版本: "+dbmd.getDriverVersion());
System.out.println("数据库用户名: "+dbmd.getUserName());
System.out.println("数据库产品名称: "+dbmd.getDatabaseProductName());
System.out.println("数据库产品版本: "+dbmd.getDatabaseProductVersion());
con.close();
}catch(Exception e){
System.out.println(e);
}
}
}
4.2 运行测试
5 DatabaseMetaData获取所有表
5.1 编写测试类
DatabaseMetaDataTableDemo:
package com.yiidian;
import java.sql.*;
/**
* 一点教程网 - http://www.yiidian.com
*/
public class DatabaseMetaDataTableDemo {
public static void main(String args[])throws Exception {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test","root","root");
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);
}
}
}
5.2 运行测试
6 DatabaseMetaData获取所有视图
6.1 创建视图
CREATE VIEW view_t_user
AS SELECT * FROM t_user;
6.2 编写测试类
DatabaseMetaDataViewDemo:
package com.yiidian;
import java.sql.*;
/**
* 一点教程网 - http://www.yiidian.com
*/
public class DatabaseMetaDataViewDemo {
public static void main(String args[])throws Exception {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test","root","root");
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);
}
}
}
6.3 运行测试
热门文章
优秀文章