`

JAVA基础 之 DatabaseMetaData

    博客分类:
  • java
阅读更多

Java基础专栏上线啦~     传送门

概述:

    1.DatabaseMetaData:连接对应的数据库信息对象

    2.通过con.getMetaData();方法来获得

    3.不多说看例子

 

package com.cxy.jdbc;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author cxy
 */
public class DatabaseMetaDataTest
{
	public static void main(String[] args) throws Exception
	{
		Class.forName("com.mysql.jdbc.Driver");
		try
		(
			Connection con=DriverManager.getConnection("jdbc:mysql://localhost/dbtest", "root", "root");
		)
		{
			DatabaseMetaData dmd=con.getMetaData();
			System.out.println("当前数据库是:"+dmd.getDatabaseProductName());
			System.out.println("当前数据库版本:"+dmd.getDatabaseProductVersion());
			System.out.println("当前数据库驱动:"+dmd.getDriverVersion());
			System.out.println("当前数据库URL:"+dmd.getURL());
			System.out.println("当前数据库是否是只读模式?:"+dmd.isReadOnly());
			System.out.println("当前数据库是否支持批量更新?:"+dmd.supportsBatchUpdates());
			System.out.println("当前数据库是否支持结果集的双向移动(数据库数据变动不在ResultSet体现)?:"+dmd.supportsResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE));
			System.out.println("当前数据库是否支持结果集的双向移动(数据库数据变动会影响到ResultSet的内容)?:"+dmd.supportsResultSetType(ResultSet.TYPE_SCROLL_SENSITIVE));
			System.out.println("========================================");
			
			ResultSet rs=dmd.getTables(null, null, "%", null);
			System.out.println("表名"+","+"表类型");
			while(rs.next())
			{
				System.out.println(rs.getString("TABLE_NAME")+","+rs.getString("TABLE_TYPE"));
			}
			System.out.println("========================================");
			
			rs=dmd.getPrimaryKeys(null, null, "t_student");
			while(rs.next())
			{
				System.out.println(rs.getString(3)+"表的主键是:"+rs.getString(4));
			}
			System.out.println("========================================");
			
			rs=dmd.getColumns(null, null, "t_student","%");
			System.out.println("t_student表包含的字段:");
			while(rs.next())
			{
				System.out.println(rs.getString(4)+" "+rs.getString(6)+"("+rs.getString(7)+");");
			}
			System.out.println("========================================");
			
		}catch(SQLException e)
		{
			System.out.println("数据库操作出现异常");
		}
	}

}

相关连接:

《Java基础 之 RowSet》

《Java基础 之 ResultSet》

《Java基础 之 ResultSetMetaData》

《Java基础 之 JDBC》

 

声明:

1.原创文章,转载请标明并加本文连接。

2.文章反映个人愚见,如有异议欢迎讨论指正

2
3
分享到:
评论

相关推荐

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

    在Java编程中,当我们需要与Oracle数据库交互时,`java.sql.DatabaseMetaData`接口提供了一种方式来获取关于数据库的各种元数据信息。这篇文章将详细介绍如何利用`DatabaseMetaData`查询Oracle数据库的所有表。 ...

    java判断数据库表是否存在

    2. **DatabaseMetaData接口** 3. **getTables方法** 4. **ResultSet处理** ### 实现原理与步骤 #### 1. JDBC简介 JDBC是Java中用于连接和操作关系型数据库的标准API。它提供了一套标准的方法来执行SQL语句,获取...

    jdbc基础和参考

    JDBC:java版本的ODBC JDBC连接数据库的步骤: 1.注册驱动(加载驱动): 注册的方式: 1.使用类加载器(使用反射的方式) Class.forName(driverName); 2.实例化Driver Driver driver = new oracle.jdbc...

    Java基础学习44.pdf

    `DatabaseMetaData`接口提供了获取数据库相关信息的方法,如表结构、索引、视图等。`ParameterMetaData`是与PreparedStatement关联的,用于获取参数信息,如参数数量、类型等。`ResultSetMetaData`则是用于解析`...

    测试java和oracle是否连接正常的小代码

    首先,你需要导入JDBC相关的类,如`java.sql.Connection`,`java.sql.DriverManager`,`java.sql.DatabaseMetaData`等。例如: ```java import java.sql.Connection; import java.sql.DriverManager; import ...

    Java基础学习43.pdf

    在Java基础学习中,理解并掌握反射是非常关键的一步,因为这不仅可以帮助你深入理解Java的内在机制,还能提升你在实际开发中的灵活性。 反射的概述:Java反射机制是指在运行状态中,程序可以获取到关于类、接口、...

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

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

    java之jdbc项目文件

    Connection对象的getMetaData()方法返回DatabaseMetaData对象,可以获取关于数据库的信息,如表名、列名等。 9. **异常处理**: 在JDBC操作中,需要捕获SQLException,并根据具体错误码进行处理。 10. **连接池*...

    Java中数据库连接课件、代码

    本教程涵盖了一系列关于Java中数据库连接的重要知识点,包括基础概念、API使用、代码示例以及数据库管理操作。以下是对这些主题的详细解释: 1. **JDBC(Java Database Connectivity)**: JDBC是Java平台的标准...

    Accp8.0\S2\使用Java实现数据库编程 第二章

    9.数据库元数据:了解如何使用DatabaseMetaData接口获取数据库的元信息,如表结构、列信息等。 10.数据库设计和范式理论:可能涉及关系数据库设计的基本原则,如第一范式(1NF)、第二范式(2NF)、第三范式(3NF)...

    Java2核心技术卷I+卷2:基础知识(第8版) 代码

    Chapter 4: Database Programming 217 The Design of JDBC 218 The Structured Query Language 222 JDBC Configuration 227 Executing SQL Statements 232 Query Execution 242 Scrollable and Updatable ...

    java jdbc基础

    10. **数据库元数据**: `Connection`对象的`getMetaData()`方法返回一个`DatabaseMetaData`对象,可以获取关于数据库的信息,如表名、列名等。 **JDBC在Java Web开发中的应用** 在Java Web开发中,JDBC常与Servlet...

    mysql-connector-java-5.1.26源码

    8. **数据库元数据**: `DatabaseMetaData`接口提供了获取数据库元信息的方法,如表信息、列信息等。在`com.mysql.jdbc.DatabaseMetaData`中,我们可以学习如何获取这些信息。 9. **性能优化**: 源码中包含了很多...

    java 实现MySQ结构提取器(源代码)

    这可以通过执行一些基础的SQL查询或调用`DatabaseMetaData`的方法来实现。 数据库列表模块的实现,意味着你需要提供一个界面或者命令行选项让用户选择他们想要操作的数据库。这可以通过读取`getCatalogs()`返回的...

    Java数据库接口JDBC入门基础讲座

    7. 数据库元数据(DatabaseMetaData):提供了关于数据库特性的信息。 三、JDBC操作步骤 1. 加载驱动:使用Class.forName()方法加载数据库驱动。 2. 建立连接:通过DriverManager.getConnection()创建与数据库的...

    自动读取mysql数据库字段并自动生成java属性和set和get方法

    2. **查询元数据**:连接成功后,通过`DatabaseMetaData`接口获取数据库的表信息,包括表名、列名、数据类型等。这些信息是生成Java实体类的基础。 3. **解析字段信息**:根据查询到的元数据,解析每个字段,将其...

    Java数据库应用程序编程指南

    8. **数据库元数据**:`DatabaseMetaData`接口提供了关于数据库的各种元信息,如表结构、列信息、索引等,可以帮助开发者更好地理解和操作数据库。 9. **连接池**:为了提高性能和资源利用率,通常使用连接池来管理...

    JDBC_Java反射技术入门

    - **数据库元数据**:通过反射获取Connection的DatabaseMetaData,可以获取数据库的表信息、列信息等,用于自动生成SQL语句或ORM框架。 - **通用DAO**:反射可用于创建通用的DAO层,通过传入不同的类名和方法名,...

Global site tag (gtag.js) - Google Analytics