JSP通过JDBC对数据库管理系统进行连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息。根据这些信息,JDBC可以访问一个实现事先并不了解的数据库。获取这些信息的方法都是在DatabaseMetaData类的对象上实现的,而DataBaseMetaData对象是在Connection对象上获得的。
来看看下面这个例子:
package com.rongji.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.DatabaseMetaData;
public class DataConn {
public DataConn() {
}
public static void main(String[] args) {
try
{
//加载驱动程序
//下面的代码为加载JDBD-ODBC驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//建立连接
//用适当的驱动程序连接到DBMS,看下面的代码[自行修改您所连接的数据库相关信息]:
String url="jdbc:oracle:thin:@192.168.4.45:1521:oemrep";
String user = "ums";
String password = "rongji";
//用url创建连接
Connection con=DriverManager.getConnection(url,user,password);
//获取数据库的信息
DatabaseMetaData dbMetaData = con.getMetaData();
//返回一个String类对象,代表数据库的URL
System.out.println("URL:"+dbMetaData.getURL()+";");
//返回连接当前数据库管理系统的用户名。
System.out.println("UserName:"+dbMetaData.getUserName()+";");
//返回一个boolean值,指示数据库是否只允许读操作。
System.out.println("isReadOnly:"+dbMetaData.isReadOnly()+";");
//返回数据库的产品名称。
System.out.println("DatabaseProductName:"+dbMetaData.getDatabaseProductName()+";");
//返回数据库的版本号。
System.out.println("DatabaseProductVersion:"+dbMetaData.getDatabaseProductVersion()+";");
//返回驱动驱动程序的名称。
System.out.println("DriverName:"+dbMetaData.getDriverName()+";");
//返回驱动程序的版本号。
System.out.println("DriverVersion:"+dbMetaData.getDriverVersion());
//关闭连接
con.close();
}
catch (Exception e)
{
//输出异常信息
System.err.println("SQLException :"+e.getMessage());
e.printStackTrace();
}
}
}
通过上面的例子,我们可以看出,DatabaseMetaData类的对象的实现,如下语句
<%
DatabaseMetaData datameta=con.getMetaData();
%>
DatabaseMetaData类中提供了许多方法用于获得数据源的各种信息,通过这些方法可以非常详细的了解数据库的信息。就如我们上面例子中所显示的几个信息[其他的方法请读者参考JDK API中的DatabaseMetaData类]:
getURL()
返回一个String类对象,代表数据库的URL。
getUserName()
返回连接当前数据库管理系统的用户名。
isReadOnly()
返回一个boolean值,指示数据库是否只允许读操作。
getDatabaseProductName()
返回数据库的产品名称。
getDatabaseProductVersion()
返回数据库的版本号。
getDriverName()
返回驱动驱动程序的名称。
getDriverVersion()
返回驱动程序的版本号。
分享到:
相关推荐
通过调用`Connection`对象的`getMetaData()`方法,我们可以获取到`DatabaseMetaData`实例,从而获取到关于数据库的各种元数据,例如表、视图、列、索引等的详细信息。 2. **元数据的作用** 元数据是描述数据的数据...
DatabaseMetaData和ResultSetMetaData就是两个常用的获取数据库元数据相关信息的接口,本文只讲解DatabaseMetaData接口获取元数据的方法。 文章地址:http://blog.csdn.net/chen_zw/article/details/18816599
项目分为核心查询模块“database-metadata-core”和数据展示模块“database-metadata-view”,其中核心模块采用纯JDBC方式,通过java.sql.DatabaseMetaData对象获取数据库元数据信息,不依赖任何外部jar包,适用于...
总结来说,使用JDBC查看数据库的详细信息主要涉及加载驱动、建立连接、获取`DatabaseMetaData`对象并调用其方法,以及正确处理结果集和关闭资源。这对于任何需要与数据库交互的Java应用都是至关重要的。通过阅读博文...
在Java编程中,当我们需要与Oracle数据库交互时,`java.sql.DatabaseMetaData`接口提供了一种方式来获取关于数据库的各种元数据信息。这篇文章将详细介绍如何利用`DatabaseMetaData`查询Oracle数据库的所有表。 ...
- `DatabaseMetaData`提供关于数据库的信息,如版本、表、列等。 10. **错误处理与异常** - JDBC的异常处理通常涉及`SQLException`及其子类,确保正确捕获并处理数据库操作中的错误。 以上内容构成了"JDBC与Java...
- 其他辅助接口如SQLException处理异常,DatabaseMetaData获取数据库元数据等。 【JDBC访问MS SQL Server步骤】 1. 加载驱动:使用DriverManager的registerDriver()方法加载对应MS SQL Server的JDBC驱动。 2. 建立...
6. **数据库元数据**:`DatabaseMetaData`接口提供了关于数据库特性的信息,如数据库版本、支持的数据类型、表信息等。 7. **批处理**:允许一次性发送多个SQL命令,提高性能。 在实际开发中,将Kingbase JDBC驱动...
8. **元数据增强**:提供更丰富的数据库元数据信息,如`DatabaseMetaData`接口,可用于获取表结构、列信息等。 9. **性能优化**:引入了Statement的`executeUpdate(String sql, int autoGeneratedKeys)`方法,可以...
7. **DatabaseMetaData**: 提供关于数据库、驱动程序和连接的信息,如数据库版本、表信息、列信息等。 在实际应用中,使用JDBC API通常遵循以下步骤: 1. 加载驱动:通过`Class.forName()`加载对应的数据库驱动。 ...
7. **数据库元数据**:通过`DatabaseMetaData`获取数据库的结构和属性信息。 《Java数据库接口JDBC入门基础讲座》可能是针对初学者的教程,着重于介绍JDBC的基础概念和基本操作,包括如何设置数据库连接参数、执行...
`DatabaseMetaData`接口提供了关于数据库的元数据信息,包括表、列、索引等的信息。它可以通过`Connection`对象的`getMetaData()`方法获得。在本例中,我们主要关注`getTables`方法,它返回一个包含指定模式下的所有...
使用`Connection`对象的方法`getMetaData()`获取`DatabaseMetaData`对象,它是用于访问数据库元数据的对象。 ```java DatabaseMetaData dbmd = connection.getMetaData(); ``` 3. **获取表列表** 使用`...
包括CallableStatement用于调用存储过程,ResultSetMetaData获取列信息,DatabaseMetaData获取数据库元数据,以及RowSet接口的离线数据处理能力。 9. **JDBC与ORM框架的关系** ORM(Object-Relational Mapping)...
1.8 获得元数据信息:使用DatabaseMetaData对象获取数据库的元数据信息,例如表的列定义信息。 1.9 关闭数据库各对象:关闭Connection、Statement和ResultSet对象,以释放系统资源。 二、使用JDBC直接连接SQL...
9. **JDBC的高级特性**:如CallableStatement用于调用数据库的存储过程,使用ResultSetMetaData获取列元数据,以及使用DatabaseMetaData获取数据库的信息。 10. **数据库连接池**:如C3P0、Apache DBCP、HikariCP等...
- **DatabaseMetaData接口**:提供有关数据库的信息,如支持的数据类型、系统函数等。 - **ResultSetMetaData接口**:提供关于结果集的元数据信息。 #### 四、JDBC应用步骤详解 1. **注册加载驱动**:使用`Class....
通过使用 DatabaseMetaData 对象,可以获取数据库中的表名、列名、索引信息等。 常用方法: * getCatalogs():返回该数据库中的信息目录列表。 * getTables(catalog, schema, tableNames, columnNames):返回表名...
7. 数据库元数据(DatabaseMetaData):提供了关于数据库特性的信息。 三、JDBC操作步骤 1. 加载驱动:使用Class.forName()方法加载数据库驱动。 2. 建立连接:通过DriverManager.getConnection()创建与数据库的...