sql语句批量处理Batch
package Statement批量处理; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement; import org.junit.After;
import org.junit.Before;
import org.junit.Test; public class StatementDemo { /**
void clearBatch()
清空此 Statement 对象的当前 SQL 命令列表。
void addBatch(String sql)
将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中。
int[] executeBatch()
将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。
int getMaxRows()
获取由此 Statement 对象生成的 ResultSet 对象可以包含的最大行数
void setMaxRows(int max)
将此 Statement 对象生成的所有 ResultSet 对象可以包含的最大行数限制设置为给定数。 */ @Test
public void batch() throws Exception{ Statement st=con.createStatement();
for(int i=11;i<20;i++){
//String sql ="delete from stud where id="+i;
String sql = "insert into stud values("+i+",'Jack')";
//每一次执行exeucteUpdate方法 ,st对象直接就将这个sql
//通过connection发送给了数据库
//st.executeUpdate(sql);
//仅仅是添加sql而不执行
//st.executeUpdate(sql);
//也执行了????
st.addBatch(sql); }
int[] eff=st.executeBatch();
System.err.println("执行完成"+eff.length);
st.close(); } @Test
public void batch2() throws Exception{
Statement st = con.createStatement();
for(int i=1;i<=5;i++){
String sql = "insert into stud values("+i+",'Jack')";
st.addBatch(sql);
}
//对于st这个对象的批量处理,可以处理不同的sql语句
String sql = "update stud set name='Rose'";
//再添加这个sql
st.addBatch(sql);
//在几行数组的大小即length是几
int[] effects = st.executeBatch();//{1,1,1,1,1,5}=10
//获取执行了多少个sql
int sqlCount = effects.length;
//获取一共影响多少行
int sum= 0;
for(int i:effects){
sum+=i;
}
System.err.println("一共有SQL:"+sqlCount+",影响了表中行数:"+sum);
st.close();
} @Before
// 执行Test前执行
public void getCon() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/abc?useUnicode=true&characterEncoding=utf8";
con = DriverManager.getConnection(url, "root", "1234");
// con.close();
// System.err.println(con); } @After
// 执行Test后执行
public void closeConn() throws Exception {
if (con != null || !con.isClosed()) { con.close();
} } private Connection con;
}
sql语句批量处理Batch的更多相关文章
- 在SQL 语句批量替换数据库字符串的方法
update table[表名] set Fields[字段名]=replace(Fields[字段名],'被替换原内容','要替换成的内容')update ProgInfo set JoinTime ...
- Oracl 一条sql语句 批量添加、修改数据
最近一直在用,也一直在学oralc,项目上也用到了批量的添加(读取上传CSV文件信息,把符合条件的信息写入到数据库中),在写的时候想到了可能是数据量大就想该怎么快,(由于本人在.NET开发期间没有做过 ...
- Java使用JDBC连接数据库逐条插入数据、批量插入数据、以及通过SQL语句批量导入数据的效率对比
测试用的示例java代码: package com.zifeiy.test.normal; import java.io.File; import java.io.FileOutputStream; ...
- SQL语句-批量插入表(表数据插表)
批量插入表(表数据插表) ****1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,val ...
- Sql语句批量更新数据(多表关联)
最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有d ...
- mysql 怎么通过sql语句批量去掉某一个表中某一个字段的多余字符
采用替换,把”<img src="“替换为空格," width="300" height="300" />也替换为空格,曾经在网 ...
- Mysql bench执行sql语句批量操作数据所遇到的问题
一.错误 rror Code: 1175. You are using safe update mode and you tried to update a table without a WHERE ...
- .net Sql语句批量插入数据库数据
#region 使用SqlBulkCopy public static bool ExecuteTransactionScopeInsert(DataTable dt, int batchSize) ...
- C# 执行sql语句批量更新
int x = db.Database.ExecuteSqlCommand(string.Format("update T_Pension SET UnitType = '{0}' WHER ...
随机推荐
- Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用
Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单 ...
- 【水题递归】【HDU2044】我大沙茶了
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input 输入数据的第一行是一个整数N,表示测试实例的个数, ...
- DataSet转Json 方法
防止忘记,留着备用 /// <summary> /// DATASET转JSON /// </summary> /// <param name="ds" ...
- Linux下重要日志文件及查看方式
http://os.51cto.com/art/201108/282184_all.htm 1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的 ...
- AFNetworking自我总结
AFNetworking 简介 目前国内开发网络应用使用最多的第三方框架 是专为 Mac OS & iOS 设计的一套网络框架 对 NSURLConnection 和 NSURLSession ...
- E - The King
Description Once upon a time in a country far away lived a king and he had a big kingdom. He was a v ...
- 垃圾回收器 Dispose 和 Finalize 的互补作用
假如我们程序有两个窗口 Form1.Form2; 当我们关闭一个窗口的时候,会发出一个 终止响应,并将该窗口对象送入终止队列,公共语言运行库的垃圾回收器跟踪着这个对象的生存期,此时就会调用此对象的基类 ...
- linux 查看目录名称的方法
1. ls -d * 2. grep查找以'/'结尾的,也就是目录 ls -F | grep '/$'
- C++程序设计实践指导1.3求任意整数降序数改写要求实现
改写要求1:动态生成单链表存储 #include <cstdlib> #include <iostream> using namespace std; struct LinkN ...
- 「北京」京东 JD.COM 招聘中/高级前端工程师
工作职责: 负责前端界面的前端构建,各类交互设计与实现: 前端样式和脚本的模块设计及优化: 协同后台开发人员完成项目: 职位要求: 专科及以上学历,2年以上前端重构与脚本开发经验,计算机或相关专业者优 ...