`

j2se-----metadata

    博客分类:
  • J2SE
阅读更多
DatabaseMetaData的用法
一   、得到这个对象的实例
Connection con ;
con = DriverManager.getConnection(url,userName,password);
DatabaseMetaData dbmd = con.getMetaData();
二、方法getTables的用法
原型:
ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type) 
此方法可返回结果集合ResultSet ,结果集中有5列, 超出会报越界异常
功能描述:得到指定参数的表信息
参数说明:
参数: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 : 数据库表名称
DatabaseMetaData对象提供的是关于数据库的各种信息,这些信息包括:
1、数据库与用户,数据库标识符以及函数与存储过程。
2、数据库限制。
3、数据库支持不支持的功能。
4、架构、编目、表、列和视图等。
通过调用DatabaseMetaData的各种方法,程序可以动态的了解一个数据库。由于这个类中的方法非常的多那么就介绍几个常用的方法来给大家参考。
DatabaseMetaData实例的获取方法是,通过连接来获得的
Connection conn = //创建的连接。
DatabaseMetaData dbmd = Conn.getMetaData();
创建了这个实例,就可以使用他的方法来获取数据库得信息。首先是数据库中用户标识符的信息的获得,主要使用如下的方法:
getDatabaseProductName()用以获得当前数据库是什么数据库。比如oracle,access等。返回的是字符串。
getDatabaseProductVersion()获得数据库的版本。返回的字符串。
getDriverVersion()获得驱动程序的版本。返回字符串。
supportsResultSetType(ResultSet.resultype)是判定是否支持这种结果集的类型。比如参数如果是Result.TYPE_FORWARD_ONLY,那就是判定是否支持,只能先前移动结果集的指针。返回值为boolean,true表示支持。
上面介绍的只是几个常用的方法,这个类中还有很多方法,可以到jdk的帮助文档中去查看类java.sql.DatabaseMetaData。
这个类中还有一个比较常用的方法就是获得表的信息。使用的方法是:
getTables(String catalog,String schema,String tableName,String[] types),
这个方法带有四个参数,他们表示的含义如下:
String catalog——要获得表所在的编目。串“”””意味着没有任何编目,Null表示所有编目。
String schema——要获得表所在的模式。串“”””意味着没有任何模式,Null表示所有模式。该参数可以包含单字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
String tableName——指出要返回表名与该参数匹配的那些表,该参数可以包含单字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
String types——一个指出返回何种表的数组。可能的数组项是:”TABLE”,”VIEW”,”SYSTEM TABLE”,”GLOBAL TEMPORARY”,”LOCAL TEMPORARY”,”ALIAS”,“SYSNONYM”。
通过getTables()方法返回一个表的信息的结果集。这个结果集包括字段有:TABLE_CAT表所在的编目。TABLE_SCHEM表所在的模式,TABLE_NAME表的名称。TABLE_TYPE标的类型。REMARKS一段解释性的备注。通过这些字段可以完成表的信息的获取。
还有两个方法一个是获得列getColumns(String catalog,String schama,String tablename,String columnPattern)一个是获得关键字的方法getPrimaryKeys(String?catalog, String?schema, String?table)这两个方法中的参数的含义和上面的介绍的是相同的。凡是pattern的都是可以用通配符匹配的。getColums()返回的是结果集,这个结果集包括了列的所有信息,类型,名称,可否为空等。getPrimaryKey()则是返回了某个表的关键字的结果集。
通过getTables(),getColumns(),getPrimaryKeys()就可以完成表的反向设计了。主要步骤如下:
1、通过getTables()获得数据库中表的信息。
2、对于每个表使用,getColumns(),getPrimaryKeys()获得相应的列名,类型,限制条件,关键字等。
3、通过1,2获得信息可以生成相应的建表的SQL语句。
通过上述三步完成反向设计表的过程。

分享到:
评论

相关推荐

    Oracle ODI 架构

    2. **图形化模块**:包括 Designer、Operator、Topology Manager 和 Security Manager 四个组件,支持用户在各种支持 Java Virtual Machine 1.5(J2SE)的操作系统上运行。 3. **执行代理**:负责实际的数据集成任务...

    CoreJava重点要点笔记

    - **Chapter 17 Annotation (Metadata)**: - 注解的使用,用于向代码中添加元数据信息。 - **Chapter 18 Concurrent Utilities**: - 并发工具类库,提供线程安全的数据结构和算法。 #### 四、Java 运行环境 - **...

    达内 corejava_partIII.ppt

    - **元数据(Metadata)**:引入注解(Annotations),为代码提供了元信息,用于编译时或运行时的处理。 这些特性极大地提升了Java的生产力和灵活性,使得开发者能够更高效地构建复杂和高性能的应用程序。通过达内...

    JavaAnntation详解.doc

    在 Java 中,元数据(Metadata)是一种用于描述其他数据的数据。在 Java 开发中,元数据主要通过注解(Annotation)的形式来体现。注解不仅可以帮助开发者更好地理解和组织代码,还能够被工具、编译器或运行时环境...

    JDBC数据库访问例子

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

    Oracle_Applications_DBA 系统架构及基本系统管理知识

    在Oracle EBS R12中,不再需要专门的Jinitiator,而是使用标准的J2SE插件。 2. **应用层**: 应用层包含了多种服务器组件,如Web服务器、J2EE服务器、FORMS/Reports服务器和Concurrent Manager。Web服务器处理HTTP...

    Java学习路线图.pdf

    1. J2SE基础:J2SE(Java 2 Platform, Standard Edition)是Java平台的基础版,包括了Java语言的核心API。学习内容涵盖了Java基础语法、面向对象编程、异常处理、集合框架、IO流、网络编程、多线程和并发、Swing图形...

    java专业术语.pdf

    1. J2SE(Java 2 Platform, Standard Edition):这是Java平台的标准版,为桌面、独立应用程序提供运行环境。 2. Java SE下载与Java游戏:指的是一般用户下载和安装Java标准版以运行Java程序,包括小游戏。 3. ...

    jdbc3.0开发文档.rar_jdbc

    `DatabaseMetaData`接口提供了获取数据库元数据的方法,如获取表信息、列信息等,便于程序自动生成SQL语句或进行动态SQL操作。 11. **性能优化** JDBC 3.0还包含了一些性能优化特性,如`Statement`的`batchUpdate...

    Java 1.6 API 中文 New

    javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio....

    JAVA学习步骤DOC

    7. **EJB3.0**:了解企业级JavaBean,学习SessionBean和EntityBean,以及JPA和Metadata技术。 8. **Linux技术**:学习Linux操作系统基础,配置JAVA开发环境,进行Linux下JAVA程序开发。 通过这三个阶段的学习,你...

Global site tag (gtag.js) - Google Analytics