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()方法 (转)相关推荐

  1. 八、JDBC批量处理sql语句

    业务场景: 当需要向数据库发送一批 SQL 语句执行时,应避免向数据库一条条的发送执行,而应采用 JDBC 的批处理机制,以提升执行效率. 实现批处理的第一种方式 采用如下方法: Statement. ...

  2. Mybatis @Flush注解分析

    Mybatis @Flush注解分析 在看源码的的时候,发现了@Flush注解.之前没用过,于是就有了这篇文章 注意:这里的执行器的类型肯定是BatchExecutor 先来例子 @Testpubli ...

  3. jdbc mysql 函数 慢_java jdbc addBatch()提交mysql速度过慢

    我用的是java jdbc的addBatch批量插入数据,但是速度好慢有什么好的方案吗 差不多插入1000条数据需要30s,下面贴出代码大家看看哪里不规范,或者给个更快的方法 //jdbc构造的URL ...

  4. 深入 理解 Statement 和 PreparedStatement

    2019独角兽企业重金招聘Python工程师标准>>> 一.使用Statement而不是PreparedStatement对象 JDBC驱动的最佳化是基于使用的是什么功能. 选择Pr ...

  5. 深入 理解 Statement 和 PreparedStatement 【转】

    一.使用Statement而不是PreparedStatement对象 JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们 ...

  6. Statement和PreparedStatement深入学习总结

    最近在看java安全编码方面的书籍,在看到SQL注入漏洞的问题时,引发了我对Statement和PreparedStatement深入总结的欲望,废话少说,下面咱们就正式开始. 当初始的SQL查询被修 ...

  7. preparedStatement和Statement 有什么不一样

    1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象. 2.作为 S ...

  8. JDBC批量插入数据优化,使用addBatch和executeBatch

    >>.在之前的玩转JDBC打造数据库操作万能工具类JDBCUtil,加入了高效的数据库连接池,利用了参数绑定有效防止SQL注入 中其实忽略了一点,那就是SQL的批量插入的问题,如果来个fo ...

  9. Java添加多行数据到mysql中_Java:使用PreparedStatement将多行插入到MySQL中

    您可以通过PreparedStatement#addBatch()创build一个批处理,并通过PreparedStatement#executeBatch()执行它. 这是一个开球的例子: publ ...

最新文章

  1. 浅谈MySQL存储引擎-InnoDBMyISAM
  2. SQL基础---增删查询操作
  3. linux磁盘高,CentOS 7.2中磁盘iowait过高解决
  4. python学习实例(5)
  5. SQL Cookbook—数字、日期
  6. 7-41 大数的乘法 (10 分)
  7. pycharm 配置设置远程调试【远程解释器】
  8. 拓端tecdat|R语言Fama French (FF) 三因子模型和CAPM多因素扩展模型分析股票市场投资组合风险/收益可视化
  9. SQL2000置疑数据库修复
  10. 小麦积分墙:如何更好的使用积分墙
  11. 解决VScode输入 英文感叹号+tab键 无法自动生成HTML模板
  12. 【解决方案】微信公众号文章加载很慢,图片加载不出来,或者weixin.qq.com这个域名都加载不出来
  13. 客运售票员_客运室优秀售票员事迹材料
  14. 圣诞颂歌(Christmas Songs)
  15. 联想笔记本一键还原出现 “系统分区结构发生改变,无法进行恢复操作”怎样处理。
  16. Grade for Android 之二:Groovy 与Java的语法区别
  17. [ZROJ-955]折纸 Solution
  18. python汉字转换拼音
  19. 不要去外包亲身经历告诉你 去外包的后果
  20. 使用Guardium离群值检测来检测隐藏的威胁

热门文章

  1. MySql的存储过程介绍及语法实例操作
  2. 14. OD-inline patch入门,将一段代码和变量分别注入一个程序中
  3. Android:Android NDK项目中C++文件中打印日志
  4. 2019-06-02 15:27:20
  5. mybatis模糊查询sql
  6. BZOJ 1646: [Usaco2007 Open]Catch That Cow
  7. mysql学习笔记03 mysql数据类型
  8. 人口简史:我们曾经差一点就彻底没了
  9. FreeRTOS任务延时函数
  10. Traceroute程序