package com.sky.read;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ReadSQLFile {
/**
* Oracle数据库连接URL
*/
private final static String DB_URL = "jdbc:oracle:thin:@localhost:1521:ORACL";
/**
* Oracle数据库连接驱
*/
private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
/**
* 数据库用户名
*/
private final static String DB_USERNAME = "gts1031";
/**
* 数据库密码
*/
private final static String DB_PASSWORD = "gts1031";
public static void main(String[] args) {
try {
ReadSQLFile rsf = new ReadSQLFile();
Connection conn = rsf.getConnection();
File f = new File("D:/init.sql");
InputStream is = new FileInputStream(f);
StringBuffer bu = new StringBuffer();
byte[] buf = new byte[1024];
int br = 0;
while ((br = is.read(buf)) != -1) {
bu.append(new String(buf, 0, br));
}
String str = bu.toString();
String[] fileName = str.split("@");
if (fileName != null && fileName.length > 0) {
for (int i = 0; i < fileName.length; i++) {
StringBuffer sb = new StringBuffer();
File file = new File("D:/" + fileName[i].trim());
InputStream in = new FileInputStream(file);
byte[] buff = new byte[1024];
int byteRead = 0;
while ((byteRead = in.read(buff)) != -1) {
sb.append(new String(buff, 0, byteRead));
Statement stmt = conn.createStatement();
String sqlStr = sb.toString();
String[] sql = sqlStr.split(";");
if (sql != null && sql.length > 0) {
for (int j = 0; j < sql.length; j++) {
try {
stmt.executeUpdate(sql[j]);
} catch (Exception e) {
// 打印日志
e.printStackTrace();
continue;
}
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取数据库连接
*
* @return Connection
*/
public Connection getConnection() {
/**
* 声明Connection连接对象
*/
Connection conn = null;
try {
/**
* 加载驱动
*/
Class.forName(DB_DRIVER);
/**
* 获取数据库连接
*/
conn = DriverManager
.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public void closeConnection(Connection conn) {
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
解析Excel生成Sql脚本,并直接执行到数据库。包括源码,打包后的程序,demo。运行时系统必须又JRE
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义...
javax.xml.bind.annotation 定义将 Java 程序元素定制成 XML 模式映射的注释。 javax.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子类允许任意 Java 类与 JAXB 一起使用。 javax.xml.bind.attachment ...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
这个实现上没有多大的困难,从最简单的hard code的解析,到正则表达解析,或者是AST语法树解析,或者用bsh,jython,jruby/groovy等脚本引擎,或者更有甚者直接用sql执行,等等方法多种多样。不过每种方法或多或少都...