博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC元数据
阅读量:3961 次
发布时间:2019-05-24

本文共 3576 字,大约阅读时间需要 11 分钟。

MetaDbData

获得数据库的元数据:数据库的版本 连接字符串

package java616;import java.sql.*;public class MetaDbData {	public static void main(String[] args) throws Exception {		String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 		String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=studentDB;integratedSecurity=true"; // 连接服务器和数据库		//String username = "sa";	    //String password = "123456";	    	    //加载驱动        Class.forName(driverName);        //获得数据库连接        Connection connection = DriverManager.getConnection(dbURL);        //  Connection connection = DriverManager.getConnection(dbURL, username, password);        //获得元数据        DatabaseMetaData metaData = connection.getMetaData();                //获得数据库名称        String databaseProductName = metaData.getDatabaseProductName();        System.out.println("数据库:"+databaseProductName);        //获得数据库版本号        String databaseProductVersion = metaData.getDatabaseProductVersion();        System.out.println("数据库版本:"+databaseProductVersion);        //获得数据库用户名        String userName = metaData.getUserName();        System.out.println("数据库登录用户名:"+userName);        //获得数据库连接URL        String jdbcUrl = metaData.getURL();        System.out.println("数据库连接字符串:"+jdbcUrl);        //获得数据库驱动        String driverName1 = metaData.getDriverName();        System.out.println("数据库驱动名:"+driverName1);        //获得数据库驱动版本号        String driverVersion = metaData.getDriverVersion();        System.out.println("数据库驱动版本号:"+driverVersion);	    	}}

在这里插入图片描述

MetaDbTableData

获得某个数据库的元数据:表名 字段名 字段数据类型

package java616;import java.sql.*;import java.util.HashMap;import java.util.Map;import java.util.Set;public class MetaDbTableData {	public static void main(String[] args) throws SQLException,			ClassNotFoundException {		HashMap
computer_mall = (HashMap
) getDatabaseNameToTableNameAndColumnName("studentDB"); Set
tableNames = computer_mall.keySet(); System.out.println("一共有表:" + tableNames.size() + "张"); for (String tableName : tableNames) { System.out.println("===========================\r\n"); System.out.println("表名:" + tableName); //
<字段名,类型>
HashMap 集合 HashMap
columnNames = (HashMap
) computer_mall .get(tableName); Set
columns = columnNames.keySet(); for (String column : columns) { System.out.println("字段名:" + column + " 类型:" + columnNames.get(column)); } System.out.println("===========================\r\n"); } } //获得元数据 public static Map getDatabaseNameToTableNameAndColumnName( String databaseName) throws SQLException, ClassNotFoundException { String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url = "jdbc:sqlserver://localhost:1433; DatabaseName=studentDB;integratedSecurity=true"; String username = "sa"; String password = "123456"; Map
tableNameMap = new HashMap<>(); // 加载驱动 Class.forName(driver); // 获得数据库连接 Connection connection = DriverManager.getConnection(url, username, password); // 获得元数据 DatabaseMetaData metaData = connection.getMetaData(); // 获得表信息 ResultSet tables = metaData.getTables(null, null, null, new String[] { "TABLE" }); while (tables.next()) { Map
columnNameMap = new HashMap<>(); // 保存字段名 // 获得表名 String table_name = tables.getString("TABLE_NAME"); // 通过表名获得所有字段名 ResultSet columns = metaData .getColumns(null, null, table_name, "%"); // 获得所有字段名 while (columns.next()) { // 获得字段名 String column_name = columns.getString("COLUMN_NAME"); // 获得字段类型 String type_name = columns.getString("TYPE_NAME"); columnNameMap.put(column_name, type_name); } tableNameMap.put(table_name, columnNameMap); } return tableNameMap; }}

在这里插入图片描述

转载地址:http://zfqzi.baihongyu.com/

你可能感兴趣的文章
中国最美情诗100句
查看>>
javascript注册window的onload事件问题研究
查看>>
客户端技术分页控件javascript+css,可用于任何服务器端技术
查看>>
学习Swing 的网站[转]
查看>>
Google App engine 的第一个应用 midispot
查看>>
提问的智慧
查看>>
关于dom4j无法解析xmlns问题及生成非UTF-8字符集乱码问题的解决
查看>>
很好的一篇文章 如果让我重做一次研究生 王汎森
查看>>
保护U盘批处理文件
查看>>
hibernate 自动导入sql 文件import.sql 国际化编码的问题的解决方案
查看>>
第七颗头骨 & 忘魂花 凤凰
查看>>
李小龙哲学之言
查看>>
[心情] 如果有一天
查看>>
[Linux] 常用 linux 系统命令及维护备忘
查看>>
[Linux] 关于 Ext4 HowTo
查看>>
[杂记] 新年物语&关于Mysql引擎性能测试
查看>>
[心得] 近期更新&关于Infobright
查看>>
[杂记] 流量统计 & 短信接口
查看>>
[中间件] 消息处理利器 ActiveMQ 的介绍 & Stomp 协议的使用
查看>>
[设计] 原型界面设计利器 Balsamiq Mockups 推荐
查看>>