`

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
分享到:
评论

相关推荐

    jdbc基础和参考

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

    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讲义

    学生提问:为什么有栈内存和堆内存之分? 93 4.6.2 基本类型数组的初始化 95 4.6.3 引用类型数组的初始化 96 4.6.4 没有多维数组 99 学生提问:我是否可以让图4.13中灰色覆盖的数组元素再次指向另一个数组?这样...

    Java数据库编程宝典3

    10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11章 构建会员Web站点 11.1 设计一个多层系统 11.2 功能性...

    Java数据库编程宝典2

    10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11章 构建会员Web站点 11.1 设计一个多层系统 11.2 功能性...

    Java数据库编程宝典4

    10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11章 构建会员Web站点 11.1 设计一个多层系统 11.2 功能性...

    Java数据库编程宝典1

    10.3.1 在JTree中显示DatabaseMetaData 10.4 检索有关RDBMS功能性的信息 10.5 使用ResultSetMetaData 10.6 小结 第3部分 三层Web站点与JDBC 第11章 构建会员Web站点 11.1 设计一个多层系统 11.2 功能性...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    schemadoc-8-handler:一个Maven插件,可以从数据库中生成基础数据库模式的图像

    schemadoc-8处理程序jdbc-8-maven-plugin的处理程序,可直接从数据库生成基础数据库模式的映像。 要查看此处理程序的实际操作示例,请查看 ,它会从嵌​... databaseMetaData 构成数据库架构的值对象。tableFilter jsql

    Hibernate中文详细学习文档

    符合Java习惯的关系数据库持久化 前言 1. 翻译说明 2. 版权声明 1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. ...

    HibernateAPI中文版.chm

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    hibernate3.2中文文档(chm格式)

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    ZendFramework中文文档

    9.5.2. Create a date from database 9.5.3. Create dates from an array 9.6. Constants for General Date Functions 9.6.1. Using Constants 9.6.2. List of All Constants 9.6.3. Self-Defined OUTPUT ...

Global site tag (gtag.js) - Google Analytics