首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
数据库
> 详细
jdbc批量执行SQL insert 操作
时间:
2016-06-20 18:28:17
阅读:
229
评论:
0
收藏:
0
[点我收藏+]
标签:
package com.file;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
public
class ResolvFile {
public
static String readFileContent(String filepath) {
//1.读取每一行记录,保存到List中
ArrayList<String> records =
new ArrayList<String>();
try {
BufferedReader br =
new BufferedReader(
new FileReader(filepath));
String aRecord;
while((aRecord = br.readLine())!=
null){
records.add(aRecord);
//把读取到的每一行记录保存到List中
}
br.close();
//用完以后关闭流
}
catch (Exception e) {
e.printStackTrace();
}
//2.处理每一条记录成SQL语句或保存为对象(a.去掉字段前后的分号b.拼接成SQL或者保存为对象)
ArrayList<String> recordList =
new ArrayList<String>();
//用于保存生成的SQL或对象
for(
int i =
0;i<records.size();i++) {
String record = records.get(i);
String[] recArray = minusQuotation(record.split(
","));
//拼接SQL语句或保存为对象
String recordSql = getRecordSql(recArray);
if (
null!=recordSql) {
recordList.add(recordSql);
}
}
//3.批量执行SQL或保存对象
batchExecuteSql(recordList);
return
null;
}
public
static
int batchExecuteSql(ArrayList<String> sqlList) {
System.out.println(
"接下来可以执行SQL语句或保存对象");
System.out.println(
"========批量执行SQL语句==========");
System.out.println(
"将所有语句加入到Statment stat中");
for (
int i =
0;i<sqlList.size();i++) {
String string = sqlList.get(i);
System.out.println(
"通过stat.addBatch(sql)来加入语句"+i+
": ‘"+string+
"‘");
}
System.out.println(
"通过stat.executeBatch()来执行所有的SQL语句");
System.out.println(
"========批量执行SQL语句结束==========");
//int count = stat.executeBatch();
//return count;//返回执行的语句数量
return sqlList.size();
}
//生成每条记录的SQL
public
static String getRecordSql(String[] recArray) {
if (
null==recArray) {
return
null;
}
String recordSql =
"insert into tablename (sms,no,time) values(‘"+recArray[
0]+
"‘,‘"+recArray[
2]+
"‘,‘"+recArray[
5]+
"‘)";
return recordSql;
}
/**
* 去掉数组中每一个元素的开头和结尾的引号
* @param recArray 要处理的数组
* @return 处理后的数组
*/
public
static String[] minusQuotation(String[] recArray) {
for (
int i =
0; i < recArray.length; i++) {
String str = recArray[i];
if (
null!=str) {
if(str.indexOf(
"\"")==
0)
str = str.substring(
1,str.length());
//去掉开头的分号
if(str.lastIndexOf(
"\"")==(str.length()-
1))
str = str.substring(
0,str.length()-
1);
//去掉最后的分号
}
recArray[i] = str;
}
return recArray;
}
public
static
void main(String[] args) {
String filepath =
"E:\\sxySMS\\smstest.txt";
readFileContent(filepath);
}
}
jdbc批量执行SQL insert 操作
标签:
原文地址:http://www.cnblogs.com/wang3680/p/5601233.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
数据库进阶
2021-07-29
在 Oracle 数据库中执行 SQL 语句遇到特殊字符的转义方式
2021-07-28
Windows Logstash同步 Sqlserver 到Elasticsearch
2021-07-26
mysql数据库(11):恢复数据
2021-07-26
mysql数据库(9):常用查询的例子
2021-07-26
SQLAlchemy 多对多
2021-07-26
ClickHouse的JDBC连接
2021-07-26
Apache HBase 1.7.1 发布,分布式数据库
2021-07-26
数据库常用架构和同步工作原理
2021-07-26
MySQL数据库设计规范(仅供参考)
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!