数据库元数据分析Demo

核心类:DatabaseMetaData、ResultSetMetaData

 1 System.err.println("**********************************");
 2         Connection conn=DataSourceUtils.getDataSource().getConnection();
 3         DatabaseMetaData dbmd=conn.getMetaData();//获取结果集conn的信息,如字段名,字段数等
 4         ResultSet set= dbmd.getCatalogs();//获取所有数据库名称
 5         while(set.next())
 6         {
 7             String name=set.getString("TABLE_CAT");
 8             System.err.println("=="+name);
 9         }
10         System.err.println("=================================");
11         String dbname= dbmd.getDatabaseProductName();
12         System.err.println(dbname);
13         System.err.println("=================================");
14         //前两个参数如果为null,则为默认连接的数据库,如果指定数据库,则为指定数据库的表;
15         //第四个参数如果为null,tables,views都会查询到;可以指定查找tables或者views或者全部
16         ResultSet set2= dbmd.getTables("jdbcdb", "jdbcdb", null, new String[]{"VIEW"});
17         while (set2.next()) {
18             String name= set2.getString("TABLE_NAME");
19             System.err.println("****"+name);
20         }
21         System.err.println("=================================");
22         Statement stmt =conn.createStatement();
23         stmt.execute("use jdbcdb");//转到jdbc数据库中
24         String sql="select * from users ";
25         ResultSet rs= stmt.executeQuery(sql);
26         ResultSetMetaData rsdaData= rs.getMetaData();//获取结果集rs的信息
27         int count= rsdaData.getColumnCount();//获取总行数
28         System.err.println(count);
29         List<String> list=new ArrayList<String>();
30         for(int i=0;i<count;i++)
31         {
32             String name=rsdaData.getColumnName(i+1);//获取行名称(数据库中的index是从1开始的)
33             System.err.print(name+"\t\t");
34             list.add(name);
35         }
36         System.err.println("");
37         while(rs.next())
38         {
39             for(String s:list)
40             {
41                 String value= rs.getString(s);
42                 System.err.print(value+"\t\t");
43             }
44             System.err.println("");
45         }
时间: 2024-10-11 16:35:47

数据库元数据分析Demo的相关文章

使用元数据分析数据库

直接上下代码: 1 package com.learn.jdbc.chap08; 2 3 import java.sql.Connection; 4 import java.sql.DatabaseMetaData; 5 6 import com.learn.jdbc.util.DbUtil; 7 8 /** 9 * 使用元数据分析数据库--使用DatabaseMetaData获取数据库基本信息 10 * @author Administrator 11 * 12 */ 13 public cl

java学习笔记—c3p0连接池与元数据分析(42)

第一步:导入c3p0包 第二步:在classpath目录下,创建一个c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 默认配置,只可以出现一次 --> <default-config> <!-- 连接超时设置30秒 --> <property name="checkoutTimeout"

JAVA JDBC 元数据分析小结

纯干货: 获取数据库名称: 1 /** 2 * 获取数据库的名称 3 */ 4 public void getDataBaseName() throws Exception { 5 Connection con = DSUtils.getConnection(); 6 // 获取DataBasematedata 7 DatabaseMetaData db = con.getMetaData(); 8 System.err.println(db.getDatabaseProductName());

数据库原理分析(强烈推荐)

转自:https://blog.csdn.net/ptsx0607/article/details/68941750 一提到关系型数据库,我禁不住想:有些东西被忽视了.关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata .但很少有文章讲解数据库是如何工作的.你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少[译者注:百度为您找到相关结果约1,850,000个-] ,而且找到的那些文章都很短.现在如果你查找最近时髦的技术(大数据.NoSQL或J

PostgreSQL数据库内核分析 笔记(这本书没有怎么很好的看,主要就是一些数据结构、概念和流程的文字介绍)

PostgreSQL数据库内核分析 跳转至: 导航. 搜索 目录 1系统概述 2体系结构 3存储管理 4索引 5查询编译 6查询执行 7事务处理与并发控制 8数据库安全 9附录A 用Eclipse开发和调试 系统概述 初始化数据库:./initdb --no-locale -D ../data ./pg_ctl start -D ../data 数据库命令:initdb createuser dropuser createdb dropdb pg_dump pg_restore pg_ctl v

http和数据库sql分析与窃听技术

用tunnel,tunnel是一种技术称谓,将其放到真正的服务器和客户端之间.调试阶段可以使用webcream运行tomcat作为模拟的真正的服务器. 具体:用apache axis及其项目中的工具tcpmon. 但tunnel有个缺点,就是要重新配置客户端和服务器让他们发送请求道tunnel代理. 另: 在RMI协议上的监听:RMI指的是Remote method invocation,即远程过程调用,它是使用java 的JRMP(java remote method protocol)或II

让MySoft.Data也能有Discuz!NT的数据库查询分析工具

当我们用Debug模式运行Discuz!NT项目的时候,我们会发现在页面的最下方有一个数据查询分析工具,非常的方便.当我们运行一个页面的时候,对sql的操作可以一目了然.当然,有些还是无法显示在页面上的,比如多个跳转的时候,最终显示的就只有一个页面的sql.不过也挺方便了. 如图: 这个数据库查询分析工具,只有在Debug模式下才会显示,Release模式不会显示. 这样的做法有两个好处,一是方便调试,第二是每当发布站点的时候,一定是Release模式的,可以确保站点在运行效率上有保证(很多时候

数据库 元数据

package com.itheima.test; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ParameterMetaData; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException;

大数据江湖之即席查询与分析(下篇)--手把手教你搭建即席查询与分析Demo

上篇小弟分享了几个"即席查询与分析"的典型案例,引起了不少共鸣,好多小伙伴迫不及待地追问我们:说好的"手把手教你搭建即席查询与分析Demo"啥时候能出?说到就得做到,差啥不能差人品,本篇只分享技术干货,目的只有一个,就是让每一个伙伴都能根据本篇向导搭建出一个"即席查询与分析Demo". 为了让各位伙伴能够尽快上手体验,所选案例就以上一篇中的"机动车缉查布控即席查询与分析"为例,上篇我们已经比较详尽的分析了用户需求,没好好听课的