`
jin8000608172
  • 浏览: 136167 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java读取定制的sql脚本

阅读更多
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脚本

    解析Excel生成Sql脚本,并直接执行到数据库。包括源码,打包后的程序,demo。运行时系统必须又JRE

    JAVA上百实例源码以及开源项目

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    java源码包---java 源码 大量 实例

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    JAVA上百实例源码以及开源项目源代码

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    java源码包4

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术...

    java源码包3

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术...

    java源码包2

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义...

    Java 1.6 API 中文 New

    javax.xml.bind.annotation 定义将 Java 程序元素定制成 XML 模式映射的注释。 javax.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子类允许任意 Java 类与 JAXB 一起使用。 javax.xml.bind.attachment ...

    java开源包4

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包101

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包11

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包6

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包9

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包5

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包8

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包10

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包3

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包1

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    数学计算模板--exceoon-formula

    这个实现上没有多大的困难,从最简单的hard code的解析,到正则表达解析,或者是AST语法树解析,或者用bsh,jython,jruby/groovy等脚本引擎,或者更有甚者直接用sql执行,等等方法多种多样。不过每种方法或多或少都...

Global site tag (gtag.js) - Google Analytics