- 浏览: 52147 次
文章分类
- 全部博客 (87)
- 模糊查询 (1)
- 树查询 (1)
- 汉字文件编码 (1)
- 图片文件写入网页 (1)
- 网络爬虫 (1)
- 正则表达式实现IP排序 (1)
- javax读取xml (1)
- javax增删改查xml (1)
- java反射 (1)
- dom4j操作XML文件 (1)
- descode函数 (1)
- 用户在线管理 (1)
- oracle统计函数统计各个年份入职的人数 (1)
- js解绑时间和自定义时间 (1)
- extjs 树控件开发 (1)
- java导出excel (1)
- java导入excel... (1)
- 行转列 (1)
- 连接池 (1)
- oracle plsql (0)
- oracle (1)
- oracle存储过程 (5)
- plsql编程 (5)
- oracle触发器 (2)
- oracle知识 (1)
- web技术 (22)
- servle+jspt文件下载 (0)
- wen技术 (0)
- java连接池 (1)
- java基础 (10)
- weblogic (3)
- jstl标签库的使用 实例 (1)
- css技术 (1)
- 存储过程 (1)
- sql统计 (1)
- webservice技术 (5)
- spring框架总结 (1)
- mongoDB (1)
- 64位oracle安装plsql (1)
- mongoDB分组统计 (1)
- ssh 无密码登录 (0)
- mysql (1)
- hadoop (0)
- lucene (1)
最新评论
package com.cgm.util;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.jsp.tagext.TryCatchFinally;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.junit.Test;
/**
* 元数据分析
* @author Administrator
*
*/
public class TestMetaData {
/*
元数据,是指仅拥有Connection一个对象的情况下,分析得出数据库的所有信息。
DataBaseMetadate - 说明数据库的信息。
ResultSetMetadate - 说明数据结果的类型信息的。核心。
如果要进行元数据分析,就必须要使用statement,preparedstatement.
*/
@Test
public void testExport(){
Connection conn=null;
try {
conn=Conutils.getCon();
DatabaseMetaData metaData=conn.getMetaData();
String dbName = metaData.getDatabaseProductName();//数据库名称
System.err.println(dbName);
System.err.println("数据库中有多少表:");
ResultSet rs2 = metaData.getTables(null,null,null,new String[]{"TABLE"});
List<String> tables = new ArrayList<String>();
//声明book
HSSFWorkbook book = new HSSFWorkbook();
Statement st = conn.createStatement();
while(rs2.next()){
String tableName = rs2.getString("TABLE_NAME");
tables.add(tableName);
}
for(String tableName:tables){
HSSFSheet sheet = book.createSheet(tableName);
//声明sql
String sql = "select * from "+dbName+"."+tableName;
//查询数据
rs2 = st.executeQuery(sql);
//根据查询的结果,分析结果集的元数据
ResultSetMetaData rsmd = rs2.getMetaData();
//获取这个查询有多少行
int cols = rsmd.getColumnCount();
//获取所有列名
//创建第一行
HSSFRow row = sheet.createRow(0);
for(int i=0;i<cols;i++){
String colName = rsmd.getColumnName(i+1);
//创建一个新的列
HSSFCell cell = row.createCell(i);
//写入列名
cell.setCellValue(colName);
}
//遍历数据
int index = 1;
while(rs2.next()){
row = sheet.createRow(index++);
//声明列
for(int i=0;i<cols;i++){
String val = rs2.getString(i+1);
//声明列
HSSFCell cel = row.createCell(i);
//放数据
cel.setCellValue(val);
}
}
}
conn.close();
book.write(new FileOutputStream("d:/a/"+dbName+".xls"));
/**
while(rs2.next()){
String tableName = rs2.getString("TABLE_NAME");
System.err.println(tableName);
} */
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
conn.setAutoCommit(true);
conn.close(); //close变成了还链接
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.jsp.tagext.TryCatchFinally;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.junit.Test;
/**
* 元数据分析
* @author Administrator
*
*/
public class TestMetaData {
/*
元数据,是指仅拥有Connection一个对象的情况下,分析得出数据库的所有信息。
DataBaseMetadate - 说明数据库的信息。
ResultSetMetadate - 说明数据结果的类型信息的。核心。
如果要进行元数据分析,就必须要使用statement,preparedstatement.
*/
@Test
public void testExport(){
Connection conn=null;
try {
conn=Conutils.getCon();
DatabaseMetaData metaData=conn.getMetaData();
String dbName = metaData.getDatabaseProductName();//数据库名称
System.err.println(dbName);
System.err.println("数据库中有多少表:");
ResultSet rs2 = metaData.getTables(null,null,null,new String[]{"TABLE"});
List<String> tables = new ArrayList<String>();
//声明book
HSSFWorkbook book = new HSSFWorkbook();
Statement st = conn.createStatement();
while(rs2.next()){
String tableName = rs2.getString("TABLE_NAME");
tables.add(tableName);
}
for(String tableName:tables){
HSSFSheet sheet = book.createSheet(tableName);
//声明sql
String sql = "select * from "+dbName+"."+tableName;
//查询数据
rs2 = st.executeQuery(sql);
//根据查询的结果,分析结果集的元数据
ResultSetMetaData rsmd = rs2.getMetaData();
//获取这个查询有多少行
int cols = rsmd.getColumnCount();
//获取所有列名
//创建第一行
HSSFRow row = sheet.createRow(0);
for(int i=0;i<cols;i++){
String colName = rsmd.getColumnName(i+1);
//创建一个新的列
HSSFCell cell = row.createCell(i);
//写入列名
cell.setCellValue(colName);
}
//遍历数据
int index = 1;
while(rs2.next()){
row = sheet.createRow(index++);
//声明列
for(int i=0;i<cols;i++){
String val = rs2.getString(i+1);
//声明列
HSSFCell cel = row.createCell(i);
//放数据
cel.setCellValue(val);
}
}
}
conn.close();
book.write(new FileOutputStream("d:/a/"+dbName+".xls"));
/**
while(rs2.next()){
String tableName = rs2.getString("TABLE_NAME");
System.err.println(tableName);
} */
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
conn.setAutoCommit(true);
conn.close(); //close变成了还链接
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
发表评论
-
往泛型的集合里添加数据
2014-07-17 23:26 737package com.cgm.callback; impo ... -
初识回调函数
2014-07-17 23:14 539package com.cgm.callback; publ ... -
threadlocal的基本实现
2014-07-13 13:44 407package com.cgm.threadlocal; i ... -
java数据库连接池的优化动态代理多线程线程通讯
2014-07-12 19:20 5391.数据可连接配置文件 jdbc配置文件 driver:ora ... -
java数据库连接池通过动态代理和线程通讯实现
2014-07-09 23:52 4321.代理类 package com.cgm.threadpo ... -
list代理对象测试
2014-07-09 21:30 360package com.cgm.invokelist; im ... -
java动态代理的基本实现
2014-07-08 23:45 3271 目标类接口 package com.cgm.invokec ... -
关于jvm的三个类加载器以及jar包的生成
2014-07-08 22:57 611package com.cgm.invokeclass; i ... -
java最简单的反射实例
2014-07-08 21:31 511package com.cgm.invokeclass; ...
相关推荐
如果有出错的数据未能保存到数据库,可以根据日志中的错误信息修改该数据后进行二次导入,这样就可以节省大量手工录入的时间。目前的可支持的数据文件格式为Microsoft Office Excel的CSV格式,xlsx文件,xls文件
升级时交付的生产数据库不包含保存生产数据的数据表,但包含从生产数据库导入生产数据的数据表的机制。 必要时通过导入备份的生产数据库的数据表,将当前生产数据库的生产数据还原。 1.3 演示数据库和支持文件的发布...
包含有关数据库样式源表以及数据和元数据属性的更多详细信息。 docs目录还包含数据表中引用的参考文献列表。 该目录包含用于编译数据库的代码。 使用数据 该数据库中包含的数据围绕着一个物理样本的思想,其主要数据...
数据输出设置(比例尺、图层、 9、元数据管理 元数据导入包括文本文件导入和EXCEL表导入; 元数据编辑功能 其中包含属性编辑功能项; 元数据输出功能 其中包含文本文件输出和XML格式输出等功能 项。 元数据查询功能 ...
数据输出设置(比例尺、图层、 9、元数据管理 元数据导入包括文本文件导入和EXCEL表导入; 元数据编辑功能 其中包含属性编辑功能项; 元数据输出功能 其中包含文本文件输出和XML格式输出等功能项。 元数据查询功能 ...
matlab导入excel代码 Project1 机器学习与数据挖掘实验文件库 组员信息 李华辉(组长) 冼海俊 实验一 ###分工信息 李华辉:代码的实现部分+文档编写(80%) 冼海俊:代码的规范化+文档编写+作业提交(20%) 作业...
* 支持ANSI,UTF8和UTF16数据编辑. * 可定制的数据类型映射. * 可执行分号分割的多条SQL语句. * 可视化查询设计器. ... * 可以导出数据库的元数据. * 支持数据库元数据查找 * 多语言支持(英语,简体中文,日语)
Sqlite Developer是SharpPlus出品的一款强大数据库管理软件。...-可以导出数据库的元数据. -支持数据库元数据查找 -可以中断长时间查询 -支持Sqlite可加载扩展及虚拟表 -多语言支持(英语,简体中文,日语)
4、数据的文件的导入:Excel数据文件的导入是将别的软件形成的数据或数据库文件, 转换到Excel工作表中。这样,大家就不必要掌握那么多纷繁复杂的软件,方便提高工作 效率,也方便协同处理数据。Excel支持文本文件...
SqliteDev 是一款比较实用的管理工具,有点类似与Mssql企业管理器。...可以导出数据库的元数据. 支持数据库元数据查找 可以中断长时间查询 支持Sqlite可加载扩展及虚拟表 多语言支持(英语,简体中文,日语)
强大的SQL编辑器 Sqlite Sql语法高亮 Sql编辑历史 Sql关键字自动完成 ...可以导出数据库的元数据. 支持数据库元数据查找 可以中断长时间查询 支持Sqlite可加载扩展及虚拟表 多语言支持(英语,简体中文,日语)
本书将介绍如何定制Excel 用户窗体、开发新实用程序、用VBA 处理图表及数据透视表,以及创建事件处理应用程序。还将介绍如何使用VBA 子过程和函数过程、与其他应用程序轻松交互、构建用户友好的工具栏、菜单和帮助...
ephys-matlab的核心组件是使用元数据来跟踪已进行的实验/分析。 在许多方面,我们就像拥有一个数据库一样使用它,但是它不是一个!! 它只是一个excel文件,可以跟踪 自动跟踪的功能 日期 主题 目录 时间 标签 oe2...
SqliteDEV非常好的管理工具,有点象Mssql企业管理器,支持多国语言 ...可以导出数据库的元数据. 支持数据库元数据查找 可以中断长时间查询 支持Sqlite可加载扩展及虚拟表 多语言支持(英语,简体中文,日语)