- 浏览: 396009 次
- 性别:
- 来自: 北京
文章分类
最新评论
有关DatabaseMetaData的用法
一 、得到这个对象的实例
二、方法getTables的用法
原型:
功能描述:得到指定参数的表信息
参数说明:
参数:catalog:目录名称,一般都为空.
参数:schema:数据库名,对于oracle来说就用户名
参数:tablename:表名称
参数:type :表的类型(TABLE | VIEW)
注意:在使用过程中,参数名称必须使用大写的。否则得到什么东西。
三、方法getColumns的用法
功能描述:得到指定表的列信息。
原型:
参数说明:
参数catalog : 类别名称
参数schema : 用户方案名称
参数tableName : 数据库表名称
参数columnName : 列名称
四、方法getPrimaryKeys的用法
功能描述:得到指定表的主键信息。
原型:ResultSet DatabaseMetaData getPrimaryKeys(String catalog,String schema,String tableName)
参数说明:
参数catalog : 类别名称
参数schema : 用户方案名称
参数tableName : 数据库表名称
备注:一定要指定表名称,否则返回值将是什么都没有。
五、方法.getTypeInfo()的用法
功能描述:得到当前数据库的数据类型信息。
六、方法getExportedKeys的用法
功能描述:得到指定表的外键信息。
参数描述:
参数catalog : 类别名称
参数schema : 用户方案名称
参数tableName : 数据库表名称
ResultSetMetaData主要获取表本身的结构
一 、得到这个对象的实例
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(); } }
发表评论
-
Java 7七大新功能预览
2011-03-22 23:09 992Java 7已经完成的7大新功能: 1 对集合类的 ... -
Jprofiler 5.1.2 配置。
2011-01-12 18:18 2815作者:lizongbo 发表于:18:34. 星期一, 三月 ... -
Java关键字之native,strict fp,transient,volatile
2010-11-30 22:08 2201abstract default if ... -
[转]ArrayList Vector LinkedList 区别与用法
2010-09-01 21:37 937最近用到了,所以依然 ... -
流 JAVA IO 基本小结 通过一行常见的代码讨论:new BufferedReader(new InputStreamReader(System.in))
2010-08-12 15:13 1628java的IO是基于流(stream ... -
简述FileInputStream和FileReader的区别
2010-08-12 15:11 1798核心提示:1 ) File 类 ... -
java的转义字符
2010-08-02 13:58 1161点的转义:. ==> u002E 美元符号的转义: ... -
[转]java源代码:POI 操作Excel,创建下拉框
2010-07-28 13:28 1400package poiexcel; import ... -
Socket 网络交互简单示例
2010-01-23 11:22 1437java中的网络信息传输方式是基于TCP协议或者UD协议P的, ... -
JAVA Socket传输数据和对象
2010-01-23 11:14 106371 引子 在Socket通 ... -
用Java进行网速测试
2010-01-18 10:46 5780命令格式: ping ip地址 ... -
在JAR包中读取图片
2010-01-16 13:19 1589当你编写一个图形界面的程序的时候,你肯定要使用各种图片资源。那 ... -
美国Java程序员薪水调查(为什么外包)
2009-11-15 23:18 6081为什么美国软件会外包 ... -
Java 读取文件
2009-11-12 14:46 1393import java.io.BufferedReader ... -
java获取几天前和几天后的日期
2009-08-04 16:06 4561/** * 得到几天前的时间 * @par ... -
instanceof 的 测试 例子 ( 帮助理解 instance 用法 和 继承 的关键点 )
2009-08-04 09:31 1507//AA是基类 class AA { public void ... -
java反射机制简单例子
2009-08-04 09:29 1208package com.yemaozi.reflect; im ... -
Java如何进阶
2009-07-25 11:56 988Java目前是最流行的语言之一, 是很多公司和程序员喜爱的一门 ... -
java Socket 通讯的代码例子
2009-07-12 12:19 1180实现Client端功能的ClientApp.Java原文件: ...
相关推荐
- **DatabaseMetaData**: 提供关于数据库的元数据,如数据库产品名称、版本等。 - **ResultSetMetaData**: 提供关于结果集列的元数据,如列名、类型等。 ### 2.1 数据库的元数据 获取数据库的元数据,如数据库名称...
10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...
10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...
10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...
10.2 使用DatabaseMetaData 10.3 检索与数据库相关的信息 10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11...
数据库的元数据(Metadata)在Java中可以通过DatabaseMetaData接口获取,它可以提供关于数据库模式的信息,如表、列、索引等。ParameterMetaData和ResultSetMetaData分别用于获取SQL语句参数和结果集的元数据。 ...
`DatabaseMetaData`接口提供了一系列方法来获取这些信息。 **事务(Transaction)** 事务是数据库操作的基本单位,确保数据的一致性和完整性。在JDBC中,可以通过Connection对象的`setAutoCommit(false)`禁用自动...
通过以上几个方面的详细探讨,我们不仅可以更好地理解JDBC中`ResultSet`的使用方法,还可以掌握如何正确配置数据库连接以及了解数据库管理系统的特有功能。这对于实际开发工作中处理数据库操作具有重要的指导意义。
7. **数据库元数据**:如何使用DatabaseMetaData获取数据库的相关信息,如表结构、列信息等。 8. **JDBC连接池**:介绍C3P0、DBCP、Druid等连接池的使用,优化数据库连接的创建和释放。 9. **JDBC高级特性**:包括...
7. **JDBC API的主要类和接口**:包括Driver、Connection、Statement、PreparedStatement、CallableStatement、ResultSet、ResultSetMetaData、DatabaseMetaData等,它们构成了JDBC的核心。 在"01_传智播客JDBC_...
`DatabaseMetaData`接口提供了获取数据库相关信息的方法,如表结构、索引、视图等。`ParameterMetaData`是与PreparedStatement关联的,用于获取参数信息,如参数数量、类型等。`ResultSetMetaData`则是用于解析`...
8. **JDBC API的其他接口和类**:包括`CallableStatement`用于调用存储过程,`DatabaseMetaData`获取数据库元数据,以及`Statement`、`ResultSetMetaData`等,它们提供了丰富的功能来处理数据库操作。 9. **JPA和...
本教程将引导您了解JDBC的基本概念、使用方法以及在实际项目中的应用。 ### 1. JDBC概述 JDBC是Java API,它定义了一组标准接口和类,用于连接Java应用程序和各种数据库。通过JDBC,我们可以执行SQL语句、处理结果...
- `DatabaseMetaData`提供了关于数据库的信息,如数据库版本、表结构等。 7. **异常处理** - JDBC操作中可能出现SQLException,需正确捕获并处理。 - 注意使用try-with-resources语句,确保资源在使用完毕后自动...
6. **Metadata(java.sql.DatabaseMetadata;java.sql.ResultSetMetadata)**:提供关于数据库、表、列和驱动程序的元数据信息,帮助开发者更好地理解和操作数据库。 使用JDBC的基本工作步骤如下: 1. 导入所需的...
这个方法会加载并实例化指定的数据库驱动类,使得Java程序能够识别和使用该驱动。 创建数据库连接的关键步骤是调用`DriverManager.getConnection(String url, String username, String password);`方法。其中,`url...
除此之外,还有其他辅助类和接口,如`DatabaseMetaData`用于获取数据库元数据,`Savepoint`用于设置保存点,`ResultSetMetaData`用于获取结果集的列信息等。 JDBC使得Java应用程序能够通过标准接口与任何支持JDBC的...
8. **DatabaseMetaData**: 提供关于JDBC驱动程序和数据库的信息,如数据库版本、支持的特性等。 ### JDBC操作步骤 1. **注册驱动**: 使用`Class.forName()`加载指定的数据库驱动。 2. **建立连接**: 通过`...
学生提问:为什么静态内部类实例方法也不能访问外部类的实例属性呢? 207 学生提问:接口里是否能定义内部接口? 208 6.7.3 使用内部类 208 学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在...