JDBC--批量处理
2015-11-22 17:04
302 查看
1、当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理,这样可以提高处理速度。
2、JDBC的批量处理语句包括两个方法:
--1)addBatch(String):添加需要批量处理的sql语句或参数;
--2)executeBatch();执行批量处理语句;
3、通常遇到以下两种情况时需要批量执行sql语句:
--1)多条sql语句的批量处理:
--2)一个sql语句的批量传参。
4、实例
2、JDBC的批量处理语句包括两个方法:
--1)addBatch(String):添加需要批量处理的sql语句或参数;
--2)executeBatch();执行批量处理语句;
3、通常遇到以下两种情况时需要批量执行sql语句:
--1)多条sql语句的批量处理:
--2)一个sql语句的批量传参。
4、实例
public void testBatch(){ Connection conn = null; PreparedStatement ps = null; String sql = "INSERT INTO customers values(?, ?, ?)"; try{ conn = JDBCUtils.getConnection(); JDBCUtils.startTransaction(conn); ps = conn.prepareStatement(sql); Date date = new Date(new java.util.Date().getTime()); long start = System.currentTimeMillis(); for(int i = 0; i < 100000; i++){ ps.setInt(1, i + 1); ps.setString(2, "name_" + i); ps.setDate(3, date); ps.addBatch(); if((i + 1) % 300 == 0){ ps.executeBatch(); ps.clearBatch(); } } ps.executeBatch(); ps.clearBatch(); long end = System.currentTimeMillis(); System.out.println("Time: " + (end - start)); JDBCUtils.commit(conn); }catch(Exception e){ e.printStackTrace(); JDBCUtils.rollback(conn); }finally{ JDBCUtils.release(conn, ps, null); } }
相关文章推荐
- socket数据收发
- 搭建hive1.2.1图形界面
- java设计模式之单例模式
- Oracle12c学习(一)---Redhat Enterprise Linux7安装Oracle12c(Oracle11g)
- 谈谈JavaScript类型检测
- 执行带参数的Sql语句(防止注入)
- 开始我的javaweb学习之旅
- [LeetCode]Permutations II
- NYOJ-958山谷(二)【模拟】
- LeetCode 063 Unique Paths II
- Jade之Filters
- 【Effective C++】让自己习惯C++
- Android(13)java中的线程回顾,Android线程,主线程(UI线程)
- 不要去打扰别人的幸福
- Android基础入门教程——9.4 使用MediaRecord录音
- Shader 学究
- 有联系的jQuery选择器
- ubuntu14.04配置Hive1.2.1
- Jade之Extends
- ubuntu14.04配置Hive1.2.1