`

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();

 }

}


分享到:
评论

相关推荐

    DatabaseMetaData生成数据库DLL

    DatabaseMetaData生成数据库DLL

    DatabaseMetaData 接口

    DatabaseMetaData 接口DatabaseMetaData 接口作为整体提供有关数据库的综合信息。 其中某些方法采用“字符串”自变量作为目录和模式名称。DB2 Everyplace 忽略这些自变量。 此处的某些方法以 ResultSet 对象的...

    JDBC元数据操作--DatabaseMetaData接口Demo

    DatabaseMetaData和ResultSetMetaData就是两个常用的获取数据库元数据相关信息的接口,本文只讲解DatabaseMetaData接口获取元数据的方法。 文章地址:http://blog.csdn.net/chen_zw/article/details/18816599

    java 查询oracle数据库所有表DatabaseMetaData的用法(详解)

    下面小编就为大家带来一篇java 查询oracle数据库所有表DatabaseMetaData的用法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    jtdsJDBC Driver

    JTDS完全与JDBC 3.0兼容,支持只向前的,和可滚动/可更新的结果集(ResultSets)中并行(完全独立)语句,并且可实施所有databasemetadata和resultsetmetadata方法。 文件有说明spring+hibernate+c3p0+jtds的配置

    DatabaseMetaDate接口

    DatabaseMetaData 接口作为整体提供有关数据库的综合信息。

    Java创建和关闭数据库连接的方法附代码.rar

    Java使用JDBC创建和关闭数据库连接的方法附代码,学习和熟悉一下JDBC的用法,创建一个数据库连接,并关闭或断开这个连接,面向java初学者。Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加载...

    calibre-web 数据库文件metadata.db 下载

    calibre-web 数据库文件metadata.db 下载

    metadata.db

    calibre 数据库,放在挂载的目录下面; 解决问题:DB location is not valid, please enter correct path

    jdbc基础和参考

    ORM:使用元数据信息来描述对象和数据库之间的关系,并且能够自动实现java中持久化对象到关系型数据库中表的映射 脏检查:自动对缓存中的数据进行检查,并且选择在合适的时机和数据库之间进行交互,以保持数据的...

    Java连接数据库和断开数据库讲解 代码.rar

    //获取DatabaseMetaData实例  System.out.println(dbmd.getDatabaseProductName()); //获取数据库名称  System.out.println(dbmd.getDatabaseProductVersion()); //获取数据库版本号  System.out.println(dbmd....

    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...

    c++ 连接 mysql 官方文档

    Accessing Database Metadata ?Accessing Parameter Metadata from a PreparedStatement Object ?Catching Exceptions ?Debug Tracing with MySQL Connector/C++ ?For More Information ?About the author ?Appendix...

    Laravel开发-metadata

    Laravel开发-metadata 模块说明

    metadata:oracle,mysql,sql server 元数据管理表生成

    MetaData元数据管理小工具。作用:可以自动将所有的表信息和字段信息存入元数据表中,便于统一查阅。(注释需要保证库本身已经包含了对于表和字段的注释)方式用于为数据库提供两张表。 meta_field, meta_model。表...

    jtds-1.2.jar

    jTDS是一个开放源代码的100%纯Java实现的JDBC3.0驱动, 它用于连接 Microsoft SQL Server(6.5,7,2000,2005,2008 和 ...而且实现了所有的数据库元数据(Database MetaData)和结果集元数据(ResultSet MetaData)方法。

    mediautil-1.0和metadata-extractor-2.3.1.jar

    照片EXIF信息的读取和改写jar包带实例

Global site tag (gtag.js) - Google Analytics