java里面怎么导入sql文件_java将SQL文件导入到数据库
最近在做一个CMS系统,不免会在CMS安装阶段会有一个Install database阶段,需要用到安装数据库,之前已经用mysqldunp命令到处一个sql格式的文件,现在需要将它导入数据库。由于java里没有直接针对于数据库的文件操作。只能考虑其他办法:这里是采用读取文件拼接成字符串,并批量处理(addBatch)的方式:代码如下:
private static File file = new File("E:\\data\\tulufan.sql");
private static InputStreamReader fileReader;
static {
try {
if (!file.exists()) {
file.createNewFile();
}
fileReader = new InputStreamReader(new FileInputStream(file),
"UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
}
public void readSQLFile() {
BufferedReader bufferedReader = new BufferedReader(fileReader);
try {
StringBuilder sBuilder = new StringBuilder("");
String str = bufferedReader.readLine();
while (str != null) {
// 去掉一些注释,和一些没用的字符
if (!str.startsWith("#") && !str.startsWith("/*")
&& !str.startsWith("–") && !str.startsWith("\n"))
sBuilder.append(str);
str = bufferedReader.readLine();
}
String[] strArr = sBuilder.toString().split(";");
List strList = new ArrayList();
for (String s : strArr) {
strList.add(s);
System.out.println(s);
}
// 创建数据连接对象,下面的DBConnection是我的一个JDBC类
DBConnection db = new DBConnection();
db.executeBatchByStatement(strList);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bufferedReader.close();
fileReader.close();
} catch (Exception e) {
}
}
return true;
}/*******************************
** DBConnection类中批量处理方法
*/
public boolean executeBatchByStatement(List sqlList) {
boolean ret = false;
if (conn != null) {
Statement stmt = null;
try {
conn.setAutoCommit(false);
stmt = conn.createStatement();
for (String s : sqlList) {
stmt.addBatch(s);
}
stmt.executeBatch();
conn.commit();
ret = true;
} catch (BatchUpdateException e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.setAutoCommit(true);
if (stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return ret;
}
当然,这只是我个人想出来的一个办法,愚陋之见还望大家批评指教,共同提高啊。。。代码有什么问题的可以QQ我,共同商讨啊。。
java里面怎么导入sql文件_java将SQL文件导入到数据库相关推荐
- java sql脚本_Java 执行 SQL 脚本文件
是拷贝的别人的,以备学习 package com.unmi.db; import java.io.FileInputStream; import java.io.InputStream; import ...
- java 读取.sql文件_java解析sql文件
packagecom.athena.ckx.util;importjava.io.FileInputStream;importjava.io.InputStream;importjava.sql.Co ...
- java 快速读文件_java快速读取文件
如何优雅读取文件,java想简单读写一个文件都要上10行代码.幸好guava和apache commons 都有提供简单操作文件工具. 简单介绍读取文件最后一行.读取文件第一行.读取大文件.往大文件追 ...
- java sql脚本_java执行sql脚本
package com.unmi.db; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Con ...
- java 解压与压缩代码_Java实现多文件压缩和解压缩代码详解
Java实现多文件压缩和解压缩代码 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...
- JAVA编程TXT文件_java读写txt文件的方法
java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...
- java读取 info.plist源码_Java 解析 IPA 文件,读取 Info.plist 信息-Go语言中文社区
在做移动MDM功能的时候,就遇到了这样一个问题,当用户上传IPA文件时,我如何知道这个IPA文件的相关信息呢?IPA文件有一个很重要的文件Info.plist 就类似于Android程序的Manife ...
- java中怎么剪切文件_java中实现文件复制、剪切和删除
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- java pdf水印排布问题_Java实现pdf文件添加水印,铺满全页。
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/duan1309/article/details/81232300 因项目需要将word文件(.doc ...
- java nio 文件_Java nio 的文件处理
一.创建一个大文件 下载文件时往往会创建一个指定大小的空文件 package com.lazy.nio; import java.io.IOException; import java.nio.Byt ...
最新文章
- 手把手教你 用C++实现一个 可持久化 的http_server
- Mxnet - Understanding weight shape for Dense Layer MXNET权重参数形状的疑惑(内部设计形式行列谁在前不用管,多个转置运算而已)
- mysql if语句 oracle,Oracleifelse语句的写法实例
- db4o Tutorial 中文翻译(十一)
- 堆垛管理,下料管理系统
- 树和二叉树的转换代码python_python数据结构之二叉树的统计与转换实例
- txt如何单独单独选择一列_散列| 单独链接以解决冲突
- linux虚拟机按键不好用,Linux 虚拟机 vim使用delete键没有退格效果
- HowToDoInJava Spring 教程·翻译完成
- Git学习文档之二 应用总结-svn迁移到git
- Gym102174 (The 14-th BIT Campus Programming Contest)
- 凸优化第四章凸优化问题 4.6 广义不等式约束
- 2022G2电站锅炉司炉考试试题及答案
- python flask 路由_Python之Flask 路由与模板语法
- 孝感网站建设多少钱,孝感做企业网站多少钱
- Oracle什么情况使用omf,从参数取值看Oracle OMF特性
- 计算机网络运输层知识点,计算机网络复习——Ch6传输层
- Docker从入门到干活,看这一篇够了!
- idea重装后打不开,点起来没反应(难受)
- 常见HTTP错误码定义