把sql输出成。sql文件
作者原创,转载注明出处:
代码:
package importfile; import java.io.*;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement; import java.sql.ResultSetMetaData;
import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class test {
public static void main(String[] args) throws Exception { SqlExport exprot = new SqlExport();
if(exprot.isExist())
{
System.out.println("脚本文件创建成功");
}else
{
System.out.println("脚本文件创建失败");
return;
}
List<String> lists = new ArrayList<String>();
lists.add("sql语句");
exprot.export(lists); // String url="jdbc:oracle:thin:@localhost:1522:orcl11g";
// String user="username";
// String password="password";
// Class.forName("oracle.jdbc.driver.OracleDriver");
// Connection conn = null;
// conn = DriverManager.getConnection(url, user, password);
//
//
// PreparedStatement pst = null;
// List<String> lists = new ArrayList<String>();
// try {
//
// pst = conn.prepareStatement("select * from test");
// ResultSetMetaData rsd = pst.executeQuery().getMetaData();
// for(int i = 0; i < rsd.getColumnCount(); i++) {
// System.out.print("java类型:"+rsd.getColumnClassName(i + 1));
// System.out.print(" 数据库类型:"+rsd.getColumnTypeName(i + 1));
// lists.add(rsd.getColumnName(i + 1));
// System.out.print(" 字段名称:"+rsd.getColumnName(i + 1));
// System.out.print(" 字段长度:"+rsd.getColumnDisplaySize(i + 1));
// System.out.println();
// }
// for(int i = 0;i<lists.size();i++)
// {
// System.out.println(lists.get(i));
// }
//
//
// } catch(SQLException e) {
// throw new RuntimeException(e);
// } finally {
// try {
// pst.close();
// pst = null;
// exprot.close(exprot.getOut());
// } catch(SQLException e) {
// throw new RuntimeException(e);
// }
// }
//
// }
}
}
class SqlExport
{
public void export (List<String> list) throws IOException
{ try {
for(int i =0;i<list.size();i++)
{
out.write(list.get(i)+"\r\n");
}
out.write("\r\n");
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
//判断文件是否存在
public boolean isExist()
{ File file=new File(path);
file.delete();
try {
out = new FileWriter(path,true);
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
} } public void close(FileWriter out) throws IOException
{
out.close();
} public FileWriter getOut()
{
return out;
} private List<String> lists;
private String path = ".//sql脚本.sql";
private FileWriter out = null;
}
注: 其中注释部分是数据连接语句,输出到脚本的sql语句可以在注释部分去组装,
把sql输出成。sql文件的更多相关文章
- 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法
开篇介绍 在 SSIS 中并没有直接提供从数据源到 XML 的转换输出,Destination 的输出对象有 Excel File, Flat File, Database 等,但是并没有直接提供 X ...
- mysql 导出sql结果成csv文件
mysql -uroot -p -e "use database;sql语句:" > a.csv 举例: mysql -uroot -p -e "use main; ...
- Pl/sql 如何将oracle的表数据导出成excel文件?
oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...
- Logback 输出 JPA SQL日志 到文件
Logback 输出 JPA SQL日志 到文件 使用Spring Boot 配置 JPA 时可以指定如下配置在控制台查看执行的SQL语句 spring.jpa.show-sql=true Sprin ...
- MyBatis 入门到精通(二) SQL语句映射XML文件
MyBatis 真正强大之处就在这些映射语句,也就是它的魔力所在.对于它的强大功能,SQL 映射文件的配置却非常简单. 如果您比较SQL 映射文件配置与JDBC 代码,您很快可以发现,使用SQL 映射 ...
- 五、SQL映射的XML文件
MyBatis真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL映射的XML文件是相当的简单.当然如果你将它们和对等功能的JDBC代码来比较,你会发现映射文件节省了大约95%的代码 ...
- SQL*Plus生成html文件
最近使用SQL*Plus命令生成html文件,遇到一些有意思的知识点,顺便记录一下,方便以后需要的时候而这些知识点又忘记而捉急.好记性不如烂笔头吗! 为什么要用SQL*Plus生成html文件? ...
- SQL 映射的 XML 文件
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方. 对于所有的力量, SQL映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大 ...
- SQL Server中数据库文件的存放方式,文件和文件组
原文地址:http://www.cnblogs.com/CareySon/archive/2011/12/26/2301597.html SQL Server中数据库文件的存放方式,文件和文件组 ...
随机推荐
- Hive的分区操作~~~~~~
一.Hive分区(一).分区概念:为什么要创建分区:单个表数据量越来越大的时候,在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据, ...
- MapReduce运行流程分析
研究MapReduce已经有一段时间了.起初是从分析WordCount程序开始,后来开始阅读Hadoop源码,自认为已经看清MapReduce的运行流程.现在把自己的理解贴出来,与大家分享,欢迎纠错. ...
- Java源码学习 -- java.lang.String
java.lang.String是使用频率非常高的类.要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的.由java.lang.String,自然联想到java.lang ...
- PHP中array_merge函数与array+array的区别
在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 当下标为数值时,array_me ...
- MyBatis-3.2.2
note SqlSessionFactory 它是一个线程安全的 SqlSession 线程非安全,不能做类的公用变量 当数据库字段和实体对象名称不一至时,通过sql的字段命名别名,别名跟实体对象属性 ...
- MySQL主从搭建
主服务器配置 1.编辑配置文件 # 如果不存在,就手动创建一个 vim /etc/my.cnf 在配置文件加入如下值: [mysqld] # 唯一的服务辨识号,数值位于 1 到 2^32-1之间. # ...
- C# 特性(Attribute)
个人定义:不侵入对象的情况下,添加对象附注信息. 官方定义:将预定义的系统信息或用户定义的自定义信息与目标元素相关联.目标元素可以是程序集.类.构造函数.委托.枚举.事件.字段.接口.方法.可移植可执 ...
- charles抓包,打断点,连接手机抓包
写给我自己: 如果是使用charles抓包.一定要tm的保证手机和电脑连的是一个网. charles抓本地包的操作 1.打开charles, 2.打开浏览器访问某网页,就可抓到对应的包 charles ...
- awk内引用shell变量【自己手动加精】
题目 [root@localhost ~]# cat 1.txt iii sss ddd 执行命令 [root@localhost ~]# A=0 [root@localhost ~]# awk '{ ...
- cookie笔记(一)
1.浏览器存储信息的一个工具 2.容量有限,每个域名一般50个.详情 3.形式:键=值: 4.获取:document.cookie; 5.设置:document.cookie="uid=we ...