`

DatabaseMetaData和ResultSetMetaData用法实例

    博客分类:
  • JAVA
阅读更多
有关DatabaseMetaData的用法

一  、得到这个对象的实例
String driverName = "oracle.jdbc.driver.OracleDriver";

  String url="jdbc:oracle:thin:@192.168.10.119:1521:test";

  String userName = "test";

  String password = "test";  

  Connection con = null;

   Class.forName(driverName);

   con = DriverManager.getConnection(url,userName,password);

   DatabaseMetaData dbmd = con.getMetaData();


二、方法getTables的用法
原型:
ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type) 

功能描述:得到指定参数的表信息

参数说明:

     参数:catalog:目录名称,一般都为空.

    参数:schema:数据库名,对于oracle来说就用户名

   参数:tablename:表名称

   参数:type :表的类型(TABLE | VIEW)

注意:在使用过程中,参数名称必须使用大写的。否则得到什么东西。

三、方法getColumns的用法

功能描述:得到指定表的列信息。

原型:
ResultSet DatabaseMetaData getColumns(String catalog,String schema,String tableName,String columnName)

参数说明:

参数catalog : 类别名称

参数schema : 用户方案名称

参数tableName : 数据库表名称

参数columnName : 列名称 

四、方法getPrimaryKeys的用法

功能描述:得到指定表的主键信息。

原型:ResultSet DatabaseMetaData getPrimaryKeys(String catalog,String schema,String tableName)

参数说明:

参数catalog : 类别名称

参数schema : 用户方案名称

参数tableName : 数据库表名称

备注:一定要指定表名称,否则返回值将是什么都没有。

五、方法.getTypeInfo()的用法

功能描述:得到当前数据库的数据类型信息。

六、方法getExportedKeys的用法

功能描述:得到指定表的外键信息。

参数描述:

参数catalog : 类别名称

参数schema : 用户方案名称

参数tableName : 数据库表名称



ResultSetMetaData主要获取表本身的结构

import java.sql.*;

 

public class DBAccess {

 public static java.sql.Connection conn = null;

 private String sqlStr = "";

 public DBAccess()

 {

    //new sun.jdbc.odbc.JdbcOdbcDriver();

    try {

      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

      conn = DriverManager.getConnection("jdbc:odbc:TestDB","admin","");

    }

    catch (ClassNotFoundException ex) {

      System.out.println(ex.toString());

    }

    catch(SQLException sqlEx){

      System.out.println(sqlEx.toString());

    }

 }

public ResultSet Search() {

    ResultSet rset = null;

    sqlStr = "SELECT * FROM STUDENTINFO";

   Statement smt = null;

   try {

     smt = conn.createStatement();

     rset = smt.executeQuery(sqlStr);

   }

   catch (SQLException ex) {

     System.out.println("Exception:"+ex.toString());

   }

   return rset;

 

 }

 public void getResultSetMetaData()

 {

   ResultSet rs = null;

 try {

    String[] tp = {"TABLE"};

    rs = this.Search();

    ResultSetMetaData rsmd = rs.getMetaData();   

    System.out.println("下面这些方法是ResultSetMetaData中方法");

    System.out.println("获得1列所在的Catalog名字 : " + rsmd.getCatalogName(1));

    System.out.println("获得1列对应数据类型的类 " + rsmd.getColumnClassName(1));

    System.out.println("获得该ResultSet所有列的数目 " + rsmd.getColumnCount());

    System.out.println("1列在数据库中类型的最大字符个数" + rsmd.getColumnDisplaySize(1));

    System.out.println(" 1列的默认的列的标题" + rsmd.getColumnLabel(1));

    System.out.println(“1列的模式” + rsmd.GetSchemaName(1));

    System.out.println("1列的类型,返回SqlType中的编号 " + rsmd.getColumnType(1));

    System.out.println("1列在数据库中的类型,返回类型全名" + rsmd.getColumnTypeName(1));

    System.out.println("1列类型的精确度(类型的长度): " + rsmd.getPrecision(1));

    System.out.println("1列小数点后的位数 " + rsmd.getScale(1));

    System.out.println("1列对应的模式的名称(应该用于Oracle) " + rsmd.getSchemaName(1));

    System.out.println("1列对应的表名 " + rsmd.getTableName(1));

    System.out.println(“1列是否自动递增” + rsmd.isAutoIncrement(1));

    System.out.println(“1列在数据库中是否为货币型” + rsmd.isCurrency(1));

    System.out.println(“1列是否为空” + rsmd.isNullable(1));

    System.out.println(“1列是否为只读” + rsmd.isReadOnly(1));

    System.out.println(“1列能否出现在where中” + rsmd.isSearchable(1));  

 }

 catch (SQLException ex) {

    ex.printStackTrace();

 }

 }

 

 public static void main(String args[])

 {

    DBAccess dbAccess = new DBAccess();

    dbAccess.getResultSetMetaData();

 }

}


分享到:
评论

相关推荐

    jdbc实例教程

    - **DatabaseMetaData**: 提供关于数据库的元数据,如数据库产品名称、版本等。 - **ResultSetMetaData**: 提供关于结果集列的元数据,如列名、类型等。 ### 2.1 数据库的元数据 获取数据库的元数据,如数据库名称...

    Java数据库编程宝典2

    10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...

    Java数据库编程宝典4

    10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...

    Java数据库编程宝典1

    10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...

    Java数据库编程宝典3

    10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...

    Java基础学习43.pdf

    数据库的元数据(Metadata)在Java中可以通过DatabaseMetaData接口获取,它可以提供关于数据库模式的信息,如表、列、索引等。ParameterMetaData和ResultSetMetaData分别用于获取SQL语句参数和结果集的元数据。 ...

    JDBC---初学者入门

    `DatabaseMetaData`接口提供了一系列方法来获取这些信息。 **事务(Transaction)** 事务是数据库操作的基本单位,确保数据的一致性和完整性。在JDBC中,可以通过Connection对象的`setAutoCommit(false)`禁用自动...

    jdbc问题集收藏总结

    通过以上几个方面的详细探讨,我们不仅可以更好地理解JDBC中`ResultSet`的使用方法,还可以掌握如何正确配置数据库连接以及了解数据库管理系统的特有功能。这对于实际开发工作中处理数据库操作具有重要的指导意义。

    传智播客JDBC_所有源码与ppt

    7. **数据库元数据**:如何使用DatabaseMetaData获取数据库的相关信息,如表结构、列信息等。 8. **JDBC连接池**:介绍C3P0、DBCP、Druid等连接池的使用,优化数据库连接的创建和释放。 9. **JDBC高级特性**:包括...

    01_传智播客JDBC_jdbc的理论概述

    7. **JDBC API的主要类和接口**:包括Driver、Connection、Statement、PreparedStatement、CallableStatement、ResultSet、ResultSetMetaData、DatabaseMetaData等,它们构成了JDBC的核心。 在"01_传智播客JDBC_...

    Java基础学习44.pdf

    `DatabaseMetaData`接口提供了获取数据库相关信息的方法,如表结构、索引、视图等。`ParameterMetaData`是与PreparedStatement关联的,用于获取参数信息,如参数数量、类型等。`ResultSetMetaData`则是用于解析`...

    java-jdbc第二次.zip

    8. **JDBC API的其他接口和类**:包括`CallableStatement`用于调用存储过程,`DatabaseMetaData`获取数据库元数据,以及`Statement`、`ResultSetMetaData`等,它们提供了丰富的功能来处理数据库操作。 9. **JPA和...

    JDBC简明学习教程

    本教程将引导您了解JDBC的基本概念、使用方法以及在实际项目中的应用。 ### 1. JDBC概述 JDBC是Java API,它定义了一组标准接口和类,用于连接Java应用程序和各种数据库。通过JDBC,我们可以执行SQL语句、处理结果...

    JDBC指南手册

    - `DatabaseMetaData`提供了关于数据库的信息,如数据库版本、表结构等。 7. **异常处理** - JDBC操作中可能出现SQLException,需正确捕获并处理。 - 注意使用try-with-resources语句,确保资源在使用完毕后自动...

    j2ee课件

    6. **Metadata(java.sql.DatabaseMetadata;java.sql.ResultSetMetadata)**:提供关于数据库、表、列和驱动程序的元数据信息,帮助开发者更好地理解和操作数据库。 使用JDBC的基本工作步骤如下: 1. 导入所需的...

    用JDBC连接数据库

    这个方法会加载并实例化指定的数据库驱动类,使得Java程序能够识别和使用该驱动。 创建数据库连接的关键步骤是调用`DriverManager.getConnection(String url, String username, String password);`方法。其中,`url...

    java数据库连接jdbc介绍

    除此之外,还有其他辅助类和接口,如`DatabaseMetaData`用于获取数据库元数据,`Savepoint`用于设置保存点,`ResultSetMetaData`用于获取结果集的列信息等。 JDBC使得Java应用程序能够通过标准接口与任何支持JDBC的...

    JDBC API 说明

    8. **DatabaseMetaData**: 提供关于JDBC驱动程序和数据库的信息,如数据库版本、支持的特性等。 ### JDBC操作步骤 1. **注册驱动**: 使用`Class.forName()`加载指定的数据库驱动。 2. **建立连接**: 通过`...

    疯狂JAVA讲义

    学生提问:为什么静态内部类实例方法也不能访问外部类的实例属性呢? 207 学生提问:接口里是否能定义内部接口? 208 6.7.3 使用内部类 208 学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在...

Global site tag (gtag.js) - Google Analytics