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. C# 热水器

    需求分析:现在有一个烧水器假设水温升高到100度为开水请用设计程序模拟整个烧水的过程,打开热水器,当水温达到95度时报警器开始发出警报,水温达到100度时,断开热水器电源. 我们使用常规的思维去分析这 ...

  2. android视频录制、另一部手机实时观看方案

    最近调研android视频录制.另一部手机实时观看,大致有以下几种思路. 1. android手机充当服务器,使用NanoHTTPD充当服务器,另一部手机或者pc通过输入http://手机的ip:80 ...

  3. map——映射(message.cpp)

    信息交换 (message.cpp) [题目描述] Byteland战火又起,农夫John派他的奶牛潜入敌国获取情报信息. Cow历尽千辛万苦终于将敌国的编码规则总结如下: 1 编码是由大写字母组成的 ...

  4. node.js入门(二) 第一个程序 Hello World

    新建一个名为"hello.js"文本文件,然后输入如下内容 //载入http模块 var http = require('http'); //构建一个http服务器 var ser ...

  5. oracle存储参数(storage子句)含义及设置技巧

    可用于:表空间.回滚段.表.索引.分区.快照.快照日志 参数名称 缺省值 最小值 最大值 说明 INITIAL 5(数据块) 2(数据块) 操作系统限定 分配给Segment的第一个Extent的大小 ...

  6. activiti 部署在oracle多用户下不能自动建表问题的解决!

    在activiti配置文件中的SpringProcessEngineConfiguration的配置项中添加<property name= "databaseSchema" ...

  7. Android 底部Dialog显示

    public void showComplainDialog() { ComplainDialog complain_dialog = new ComplainDialog(OrderDetialAc ...

  8. maven+springmvc+easyui+fastjson+pagehelper

    1.maven配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  9. JAVA笔记(一)super and this

    http://zhangjunhd.blog.51cto.com/113473/20531 总结关键字this与super用法. author: ZJ 07-3-12 Blog: [url]http: ...

  10. Digital Roots(hdoj1013)

    Problem Description The digital root of a positive integer is found by summing the digits of the int ...