批处理SQL语句
作用:想发送多条SQL,又要降低与数据库系统的交互,这时使用批处理
一】Statement对象——适合对不同结构的SQL语句进行批处理操作
步骤:
1)将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中
void addBatch(String sql);
2)将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。
int[] executeBatch()
返回值:
1> 大于等于 0 的数 - 指示成功处理了命令,是给出执行命令所影响数据库中行数的更新计数
2> SUCCESS_NO_INFO 的值 - 指示成功执行了命令,但受影响的行数是未知的
3> EXECUTE_FAILED 的值 - 指示未能成功执行命令,仅当命令失败后驱动程序继续处理命令时出现
3)清空此 Statement 对象的当前 SQL 命令列表
void clearBatch();
code:
/*此方法只会连接一次,但是会编译多次*/
stmt = conn.createStatement();
/*添加SQL语句*/
stmt.addBatch(SqlMapping.ADD_USER_SQL);
stmt.addBatch(SqlMapping.MODIFIED_USER_SQL);
/*执行多条SQL语句*/
int[] rows = stmt.executeBatch();
System.out.println(rows.length);
/*清空SQL语句*/
stmt.clearBatch();
二】PreparedStatement对象——适合对相同机构的SQL语句进行批处理操作
重点类:
void addBatch();
void executeBatch()
void clearBatch();
code:
/*此方式只连接一次,也只编译一次!*/
pstmt = conn.prepareStatement(SqlMapping.ADD_USER_PRSQL);
for (int i = 0; i < 1003; i++) {
pstmt.setString(1, "jack" + i);
pstmt.setInt(2, (i + 15) % 30);
pstmt.addBatch();
if (0 == (i % 100)) {
pstmt.executeBatch();
pstmt.clearBatch();
}
}
pstmt.addBatch();
pstmt.execute();
pstmt.clearBatch();
批处理SQL语句的更多相关文章
- MySQL批处理SQL语句
MySQL 支持批处理的模式运行一批SQL语句,以下的样例就是实验MySQL怎样在windows下批处理运行SQL语句. create table test(id int,name varchar(2 ...
- 使用BAT批处理执行sql语句的代码
使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...
- ADO.NET 中可以发送包含多个SQL语句的批处理脚本到SQL Server,但是用MySQL的ODBC驱动不行
众所周知,我们在ADO.NET中可以使用NuGet包System.Data.SqlClient来操作SQL Server,并且ADO.NET是支持向SQL Server发送包含多个SQL语句的批处理脚 ...
- DB操作-用批处理执行Sql语句
用批处理在命令行状态下调用查询分析器来执行这个sql文件里的语句.下面就是sqlserver帮助里对于查询分析器(isqlw)命令行参数的解释:isqlw 实用工具(SQL 查询分析器)使您得以输入 ...
- SqlServer--bat批处理执行sql语句1-osql
首先需要知道,此处使用的批处理命令是osql ,如果安装了SqlServer,目录类似: D:\Program Files\Microsoft SQL Server\100\Tools\Binn 脚本 ...
- sql语句优化SQL Server
MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了 ...
- 动态sql语句基本语法--Exec与Exec sp_executesql 的区别
http://www.cnblogs.com/goody9807/archive/2010/10/19/1855697.html 动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 ...
- 微软官方提供的用于监控MS SQL Server运行状况的工具及SQL语句
Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...
- SQL语句学习笔记
从外部EXCEl文件导入sqlserver数据库操作命令 reconfigure reconfigure go select * into abc1_1 from OPENROWSET('MICROS ...
随机推荐
- ZOJ 2760 How Many Shortest Path
题目大意:给定一个带权有向图G=(V, E)和源点s.汇点t,问s-t边不相交最短路最多有几条.(1 <= N <= 100) 题解:从源点汇点各跑一次Dij,然后对于每一条边(u,v)如 ...
- 各种计算机语言的经典书籍(C/C++/Java/C#/VC/VB等)
1.Java Java编程语言(第三版)-Java四大名著--James Gosling(Java之父) Java编程思想(第2版)--Java四大名著--Bruce Eckel Java编程思想(第 ...
- flume-agent实例
flume 多种适配,多样化的数据收集 核心概念 event:一条消息 client:访问者 agent: 重要组件Sour ...
- Python 2 到 Python 3的变化
Python 2.x到Python 3.x变化还是挺大的,具体的变化,参考官方文档: https://docs.python.org/3.0/whatsnew/3.0.html
- Socket小结
TCP/IP 要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间 ...
- Objective-C基础学习笔记——对象初始化
obj中创建新对象有两种方式:[classname new]和[[classname alloc] init].两种方法等价,Cocoa惯例是使用alloc和init. 1.分配对象: allocat ...
- 開始学习swift开发
近期要開始学习swift开发了,接下来的日子,会记录学习swift的历程.
- 实现Android 动态载入APK(Fragment or Activity实现)
尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38565345 近期由于项目太大了.导致编译通只是(Android对一个应用中的方法个数貌似有 ...
- openwrt上网配置的一些理解(四)
这次要解决的问题是3g上网和wan口上往可以随意切换,当然能够叠加也是好事,不过这不是我关心的.下面还是修改3个文件network,firewall,multiwan.首先在network中加入界面配 ...
- javascript中的原型理解总结
经过几天研究查找资料,对原型终于有点理解了,今天就做下总结,不对之处,希望各位能够提出. 1.每一个Javascript对象(null除外)都和另一个对象相关联,“另一个”对象就是我们今天所要总结的原 ...