`
wangemperor
  • 浏览: 39934 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JDBC的那点事之DatabaseMetaData之获取数据库所有表

阅读更多

获取数据库的所有表:(以MySQL和Oracle为例,其他类型的数据库接触不过,不做解释)

Connection接口中提供了DatabaseMetaData接口:

提供:getTables()方法,该方法需要传进4个参数:

第一个是数据库名称,对于MySQL,则对应相应的数据库,对于Oracle来说,则是对应相应的数据库实例,可以不填,也可以直接使用Connection的实例对象中的getCatalog()方法返回的值填充;

第二个是模式,可以理解为数据库的登录名,而对于Oracle也可以理解成对该数据库操作的所有者的登录名。对于Oracle要特别注意,其登陆名必须是大写,不然的话是无法获取到相应的数据,而MySQL则不做强制要求。

第三个是表名称,一般情况下如果要获取所有的表的话,可以直接设置为null,如果设置为特定的表名称,则返回该表的具体信息。

第四个是类型标准,以数组形式传值,有"TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS" 和 "SYNONYM"这几个经典的类型,一般使用”TABLE”,即获取所有类型为TABLE的表

它返回一个ResultSet对象,有10列,详细的显示了表的类型:

TABLE_CAT String => 表类别(可为 null)

TABLE_SCHEM String => 表模式(可为 null)

TABLE_NAME String => 表名称

TABLE_TYPE String => 表类型。

REMARKS String => 表的解释性注释

TYPE_CAT String => 类型的类别(可为 null)

TYPE_SCHEM String => 类型模式(可为 null)

TYPE_NAME String => 类型名称(可为 null)

SELF_REFERENCING_COL_NAME String => 有类型表的指定 "identifier" 列的名称(可为 null)

REF_GENERATION String

可根据需要使用

示例:

(MySQL)

DatabaseMetaData metaData = conn.getMetaData();

ResultSet rs = metaData.getTables(conn.getCatalog(), "root", null, new String[]{"TABLE"});

while(rs.next()) {

   System.out.println(rs.getString("TABLE_NAME"));

}

(Oracle)

DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getTables(conn.getCatalog(), "SCOTT", null, new String[]{"TABLE"});
while(rs.next()) {
    System.out.println(rs.getString("TABLE_NAME"));
}

这两处的代码,唯一区别的是在第二个参数,Oracle不支持小写的,必须是大写的,换成小写则什么都获取不到,而MySQL则大小写俱可,不过我建议是全部使用大写,这里只是示例······

分享到:
评论

相关推荐

    DatabaseMetaData生成数据库DLL

    - `getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)`:用于获取数据库中的表信息。 - `getColumns(String catalog, String schemaPattern, String tableNamePattern, ...

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

    这篇文章将详细介绍如何利用`DatabaseMetaData`查询Oracle数据库的所有表。 首先,我们需要建立一个数据库连接。通过`DriverManager.getConnection(url, userName, password)`方法,我们可以获得`Connection`对象,...

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

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

    java获取数据库主外键

    使用`DatabaseMetaData`对象的方法`getTables()`来获取所有表的信息。 ```java ResultSet tableRs = dbmd.getTables(null, null, "%", new String[]{"TABLE"}); ArrayList<String> tables = new ArrayList(); ...

    java判断数据库表是否存在

    2. **获取数据库连接**:通过`Conn.getConnection()`方法获取连接。注意这里的`Conn.getConnection()`应是自定义的方法,用于建立数据库连接。 3. **获取元数据**:通过`conn.getMetaData()`获取`DatabaseMetaData`...

    java 获取数据库的基本信息

    在Java编程中,获取数据库的基本信息是常见的任务,这包括连接状态、数据库版本、表信息、用户权限等。本文将详细讲解如何使用Java JDBC(Java Database Connectivity)来获取这些信息。 首先,要与数据库建立连接...

    怎样用JDBC查看数据库的详细信息

    这篇博客"怎样用JDBC查看数据库的详细信息"可能是关于如何通过JDBC接口查询和获取数据库中的数据,以及如何获取数据库的元数据。 首先,我们需要了解JDBC的基本步骤: 1. 加载驱动:在Java程序中,我们通常使用`...

    Java获取数据库属性信息.rar

    本教程将深入探讨如何使用`DatabaseMetaData`对象来获取数据库的各种属性信息。 首先,你需要建立一个数据库连接,可以使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码。一旦连接成功,你...

    JDBC与Java数据库程序设计

    - `DatabaseMetaData`提供关于数据库的信息,如版本、表、列等。 10. **错误处理与异常** - JDBC的异常处理通常涉及`SQLException`及其子类,确保正确捕获并处理数据库操作中的错误。 以上内容构成了"JDBC与Java...

    JDBC 3.0 数据库编程

    8. **元数据增强**:提供更丰富的数据库元数据信息,如`DatabaseMetaData`接口,可用于获取表结构、列信息等。 9. **性能优化**:引入了Statement的`executeUpdate(String sql, int autoGeneratedKeys)`方法,可以...

    基于Java JDBC的数据库元数据查询设计源码

    metadata-core”和数据展示模块“database-metadata-view”,其中核心模块采用纯JDBC方式,通过java.sql.DatabaseMetaData对象获取数据库元数据信息,不依赖任何外部jar包,适用于数据库字段和表结构的查询需求。

    JDBC API数据库编程实作教材

    7. **DatabaseMetaData**: 提供关于数据库、驱动程序和连接的信息,如数据库版本、表信息、列信息等。 在实际应用中,使用JDBC API通常遵循以下步骤: 1. 加载驱动:通过`Class.forName()`加载对应的数据库驱动。 ...

    JDBC数据库访问例子

    - **数据库元数据**:通过`java.sql.DatabaseMetaData`接口可以获取有关数据库的信息,如支持的SQL语法等。 ### 示例分析 #### 连接数据库 示例中的代码首先导入了必要的包: ```java import java.sql.*; ``` ...

    Java+RestltData获取数据库、数据库表、表字段、执行sql等数据源操作源码

    本篇将围绕Java结合`RestltData`获取数据库、数据库表、表字段以及执行SQL等数据源操作的相关知识点进行深入探讨。 首先,`RestltData`这个名字可能是"Result Data"的缩写,它可能是一个用来封装查询结果的对象,...

    获取数据库描述信息

    获取数据库描述信息是一项基本操作,它有助于开发者理解数据库结构、表的设计以及字段属性等关键信息。在这个主题中,我们将深入探讨如何获取这些信息,主要关注源码层面和使用工具的方法。 首先,我们需要了解...

    java 获取数据库对SQL支持的信息

    在Java编程中,获取数据库对SQL支持的信息是开发数据库应用时常见的需求,这涉及到JDBC(Java Database Connectivity)API的使用。JDBC是Java中用于与各种类型数据库交互的一组接口和类,它允许程序员使用标准的Java...

    用java查询数据库里所有表的所有属性的所有值.

    当你需要获取数据库中所有表的所有属性的所有值时,这通常涉及到数据库的元数据查询以及SQL语句的构造。以下将详细讲解如何实现这一目标。 首先,我们需要连接到数据库。在Java中,我们通常使用JDBC(Java Database...

    用JDBC连接数据库

    此外,JDBC还提供了`DatabaseMetaData`接口,可以获取关于数据库的各种元数据,如数据库版本、支持的SQL特性、表信息等。 在设计数据库时,遵循规范化原则是非常重要的。规范化主要包括第一范式(1NF)、第二范式...

    JAVA数据库编程JDBC 与 Java数据库接口JDBC入门基础讲座 与 JDBC API数据库编程实作教材-程序设计-JAVA JDBC全压缩包.rar

    7. **数据库元数据**:通过`DatabaseMetaData`获取数据库的结构和属性信息。 《Java数据库接口JDBC入门基础讲座》可能是针对初学者的教程,着重于介绍JDBC的基础概念和基本操作,包括如何设置数据库连接参数、执行...

    java各种JDBC数据库驱动文件

    包括CallableStatement用于调用存储过程,ResultSetMetaData获取列信息,DatabaseMetaData获取数据库元数据,以及RowSet接口的离线数据处理能力。 9. **JDBC与ORM框架的关系** ORM(Object-Relational Mapping)...

Global site tag (gtag.js) - Google Analytics