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的更多相关文章

  1. 在SQL 语句批量替换数据库字符串的方法

    update table[表名] set Fields[字段名]=replace(Fields[字段名],'被替换原内容','要替换成的内容')update ProgInfo set JoinTime ...

  2. Oracl 一条sql语句 批量添加、修改数据

    最近一直在用,也一直在学oralc,项目上也用到了批量的添加(读取上传CSV文件信息,把符合条件的信息写入到数据库中),在写的时候想到了可能是数据量大就想该怎么快,(由于本人在.NET开发期间没有做过 ...

  3. Java使用JDBC连接数据库逐条插入数据、批量插入数据、以及通过SQL语句批量导入数据的效率对比

    测试用的示例java代码: package com.zifeiy.test.normal; import java.io.File; import java.io.FileOutputStream; ...

  4. SQL语句-批量插入表(表数据插表)

    批量插入表(表数据插表) ****1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,val ...

  5. Sql语句批量更新数据(多表关联)

    最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有d ...

  6. mysql 怎么通过sql语句批量去掉某一个表中某一个字段的多余字符

    采用替换,把”<img src="“替换为空格," width="300" height="300" />也替换为空格,曾经在网 ...

  7. Mysql bench执行sql语句批量操作数据所遇到的问题

    一.错误 rror Code: 1175. You are using safe update mode and you tried to update a table without a WHERE ...

  8. .net Sql语句批量插入数据库数据

    #region 使用SqlBulkCopy public static bool ExecuteTransactionScopeInsert(DataTable dt, int batchSize) ...

  9. C# 执行sql语句批量更新

    int x = db.Database.ExecuteSqlCommand(string.Format("update T_Pension SET UnitType = '{0}' WHER ...

随机推荐

  1. mysql跟踪提交的SQL语句

    http://www.cnblogs.com/wuyifu/p/3328024.html

  2. VS2013报表设计常用表达式

    一.页眉 1."日期"表达式:="日期: "& Today.ToShortDateString() 效果: 2.格式化日期:="日期: &qu ...

  3. 淘宝对接API

    最近在忙与淘宝做对接的工作,总体感觉淘宝的api文档做的还不错,不仅有沙箱测试环境,而且对于每一个api都可以通过api测试工具生成想要的代码,你完全可以先在测试工具中测试之后再进行代码的编写,这样就 ...

  4. 使用一个HttpModule拦截Http请求,来检测页面刷新(F5或正常的请求)

    在Web Application中,有个问题就是:“我怎么来判断一个http请求到底是通过按F5刷新的请求还是正常的提交请求?” 相信了解ASP.NET的人知道我在说什么,会有同感,而且这其实不是一个 ...

  5. 2015.4.16-SQL-内连接与外连接

    1.内连接 如图: 关键字 inner join 2.外连接 分为左外连接 和右外连接,即如果是左外连接,即使左面没有值,也会显示为null, 右外连接也如此 关键字 left join ; righ ...

  6. python虚拟环境Virtualenvwrapper无法升降级虚拟环境软件解决方法

    virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够在没有权限的情况下安装新套件,不同应用可以使用不同的套件版本,套件升级不影响其他应用. Virtaulen ...

  7. Print! Print! Print!

    print语句可以实现打印--只是对程序员友好的标准输出流的接口而已. 从技术角度来讲,这是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流. 更详细地说,在Python中 ...

  8. Python 自学笔记(一)环境搭建

    一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Wi ...

  9. 用Total Commander替换windos默认资源管理器

    用Total Commander替换windos默认资源管理器的方法 Total Commander(简称TC)是一个功能强大的资源管理器. TC本身没有自带的替换windows资源管理器的功能,就必 ...

  10. SQL Server 与 Windows 内存使用上的约定

    什么时候SQL Server 会释放出自己的内存!以提供给别的程序用呢? --------------------------------------------------------------- ...