关于PreparedStatement.addBatch()方法 (转)
Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用.
1.建立链接,(打电话拨号 )
Connection connection =getConnection();
2.不自动 Commit (瓜子不是一个一个吃,全部剥开放桌子上,然后一口舔了)
connection.setAutoCommit(false);
3.预编译SQL语句,只编译一回哦,效率高啊.(发明一个剥瓜子的方法,以后不要总想怎么剥瓜子好.就这样剥.)
PreparedStatement statement = connection.prepareStatement("INSERT INTO TABLEX VALUES(?, ?)");
4.来一个剥一个,然后放桌子上
//记录1
statement.setInt(1, 1);
statement.setString(2, "Cujo");
statement.addBatch();
//记录2
statement.setInt(1, 2);
statement.setString(2, "Fred");
statement.addBatch();
//记录3
statement.setInt(1, 3);
statement.setString(2, "Mark");
statement.addBatch();
//批量执行上面3条语句. 一口吞了,很爽
int [] counts = statement.executeBatch();
//Commit it 咽下去,到肚子(DB)里面
connection.commit();
stmt.addBatch("update TABLE1 set 题目="盛夏话足部保健1" where id="3407"");
stmt.addBatch("update TABLE1 set 题目="夏季预防中暑膳食1" where id="3408"");
stmt.addBatch("INSERT INTO TABLE1 VALUES("11","12","13","","")");
stmt.addBatch("INSERT INTO TABLE1 VALUES("12","12","13","","")");
stmt.addBatch("INSERT INTO TABLE1 VALUES("13","12","13","","")");
stmt.addBatch("INSERT INTO TABLE1 VALUES("14","12","13","","")");
stmt.addBatch("INSERT INTO TABLE1 VALUES("15","12","13","","")");
stmt.addBatch("INSERT INTO TABLE1 VALUES("16","12","13","","")");
stmt.addBatch("INSERT INTO TABLE1 VALUES("17","12","13","","")");
stmt.addBatch("INSERT INTO TABLE1 VALUES("18","12","13","","")");
int [] updateCounts=stmt.executeBatch();
cn.commit();
例如:
public static void execteBatch(Connection conn)throws Exception{
String sql1 = "delete from student where id =3 ";
String sql2 = "delete from student where id =5 ";
String sql3 = "delete from student where id =6 ";
String sql4 = "delete from student where id =7 ";
PreparedStatement pstmt = conn.prepareStatement(sql1);
pstmt.addBatch();
pstmt.addBatch(sql2);
pstmt.addBatch(sql3);
pstmt.addBatch(sql4);
pstmt.executeBatch();
};
本文转自:http://blog.csdn.net/blueling51/article/details/6928755。
关于PreparedStatement.addBatch()方法 (转)相关推荐
- 八、JDBC批量处理sql语句
业务场景: 当需要向数据库发送一批 SQL 语句执行时,应避免向数据库一条条的发送执行,而应采用 JDBC 的批处理机制,以提升执行效率. 实现批处理的第一种方式 采用如下方法: Statement. ...
- Mybatis @Flush注解分析
Mybatis @Flush注解分析 在看源码的的时候,发现了@Flush注解.之前没用过,于是就有了这篇文章 注意:这里的执行器的类型肯定是BatchExecutor 先来例子 @Testpubli ...
- jdbc mysql 函数 慢_java jdbc addBatch()提交mysql速度过慢
我用的是java jdbc的addBatch批量插入数据,但是速度好慢有什么好的方案吗 差不多插入1000条数据需要30s,下面贴出代码大家看看哪里不规范,或者给个更快的方法 //jdbc构造的URL ...
- 深入 理解 Statement 和 PreparedStatement
2019独角兽企业重金招聘Python工程师标准>>> 一.使用Statement而不是PreparedStatement对象 JDBC驱动的最佳化是基于使用的是什么功能. 选择Pr ...
- 深入 理解 Statement 和 PreparedStatement 【转】
一.使用Statement而不是PreparedStatement对象 JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们 ...
- Statement和PreparedStatement深入学习总结
最近在看java安全编码方面的书籍,在看到SQL注入漏洞的问题时,引发了我对Statement和PreparedStatement深入总结的欲望,废话少说,下面咱们就正式开始. 当初始的SQL查询被修 ...
- preparedStatement和Statement 有什么不一样
1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象. 2.作为 S ...
- JDBC批量插入数据优化,使用addBatch和executeBatch
>>.在之前的玩转JDBC打造数据库操作万能工具类JDBCUtil,加入了高效的数据库连接池,利用了参数绑定有效防止SQL注入 中其实忽略了一点,那就是SQL的批量插入的问题,如果来个fo ...
- Java添加多行数据到mysql中_Java:使用PreparedStatement将多行插入到MySQL中
您可以通过PreparedStatement#addBatch()创build一个批处理,并通过PreparedStatement#executeBatch()执行它. 这是一个开球的例子: publ ...
最新文章
- 浅谈MySQL存储引擎-InnoDBMyISAM
- SQL基础---增删查询操作
- linux磁盘高,CentOS 7.2中磁盘iowait过高解决
- python学习实例(5)
- SQL Cookbook—数字、日期
- 7-41 大数的乘法 (10 分)
- pycharm 配置设置远程调试【远程解释器】
- 拓端tecdat|R语言Fama French (FF) 三因子模型和CAPM多因素扩展模型分析股票市场投资组合风险/收益可视化
- SQL2000置疑数据库修复
- 小麦积分墙:如何更好的使用积分墙
- 解决VScode输入 英文感叹号+tab键 无法自动生成HTML模板
- 【解决方案】微信公众号文章加载很慢,图片加载不出来,或者weixin.qq.com这个域名都加载不出来
- 客运售票员_客运室优秀售票员事迹材料
- 圣诞颂歌(Christmas Songs)
- 联想笔记本一键还原出现 “系统分区结构发生改变,无法进行恢复操作”怎样处理。
- Grade for Android 之二:Groovy 与Java的语法区别
- [ZROJ-955]折纸 Solution
- python汉字转换拼音
- 不要去外包亲身经历告诉你 去外包的后果
- 使用Guardium离群值检测来检测隐藏的威胁