jdbc批处理案例
来源:互联网 发布:php pdf html代码 编辑:程序博客网 时间:2024/06/05 15:03
上一篇(http://blog.csdn.net/rowandjj/article/details/8978108)我们介绍了JDBC中事务处理的知识,我们的重点是掌握事务处理的特性(ACID),以及JDBC事务处理的一般步骤,
(判断数据库是否支持事务->取消事务自动提交->添加事务信息->提交事务->异常处理,出错回滚等)。重点掌握setAutoCommit,commit,rollback等方法。
本篇我们来介绍一下JDBC中的批处理:
当需要向数据库发送一批sql语句执行时,应避免向数据库一条条的发送执行,而应该采用jdbc的批处理,可以提升执行效率.
通过addBatch()方法可以向数据库中加入多条数据,可以删除数据,同时可以执行多条记录,在向sql提交语句的时候要用executeBatch,提交之后清除缓存可以调用clearBatch方法。
看个例子:
- package demo;
- import java.sql.Connection;
- import java.sql.Date;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class BatchDemo
- {
- /**
- * 批处理sql语句
- * @param args
- */
- public static void main(String[] args)
- {
- long start = System.currentTimeMillis();
- // addBatchFunc();
- func();
- long end = System.currentTimeMillis();
- System.out.println(end - start);
- }
- public static void addBatchFunc()
- {
- Connection conn = null;
- PreparedStatement ps = null;
- ResultSet rs = null;
- try
- {
- conn = JDBCUtils.getConnection();
- String sql = "insert into tb_6 values (?,?,?)";
- ps = conn.prepareStatement(sql);
- for(int i = 0; i < 100 ; i++)
- {
- ps.setString(1,"name " + i);
- ps.setDate(2, new Date(System.currentTimeMillis()));
- ps.setFloat(3,i + 100);
- ps.addBatch();//添加批处理语句
- }
- ps.executeBatch();//执行批处理语句
- ps.clearBatch();
- }
- catch (SQLException e)
- {
- e.printStackTrace();
- }
- finally
- {
- JDBCUtils.free(rs, ps, conn);
- }
- }
- public static void func()
- {
- Connection conn = null;
- Statement st = null;
- ResultSet rs = null;
- try
- {
- conn = JDBCUtils.getConnection();
- String sql = "insert into tb_6 values ('zh','1999.10.01','1')";
- st = conn.createStatement();
- st.addBatch(sql);
- sql = "insert into tb_6 values ('ch','1999.10.01','2')";
- st.addBatch(sql);
- st.executeBatch();
- st.clearBatch();
- }
- catch (SQLException e)
- {
- e.printStackTrace();
- }
- finally
- {
- JDBCUtils.free(rs, st, conn);
- }
- }
- }
批处理比较简单,相信大家看了就知道了。
0 0
- jdbc批处理案例
- 心得7--JDBC回顾-批处理案例解说
- JDBC批处理
- jdbc批处理
- JDBC批处理
- JDBC批处理
- jdbc批处理
- JDBC批处理
- JDBC批处理
- JDBC批处理
- jdbc 批处理
- JDBC批处理
- JDBC 批处理
- JDBC批处理
- JDBC批处理
- jdbc 批处理
- JDBC批处理
- JDBC 批处理
- 是你吗?
- Android - 修改最小SDK版本(minSdkVersion)
- java进程、线程
- IOS之圆形头像的实现
- MFC对话框关闭时跳过OnDestroy()(
- jdbc批处理案例
- URLConnection参数详解
- 教你如何升级app适配iOS 7
- iOS 推送 合成pem 证书
- NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间
- 俺是新来的
- 一步步学习SPD2010--第七章节--使用BCS业务连接服务(2)--创建数据库外部数据源
- 开播啦、
- 通过《iOS人机交互指南》的变化看iOS7的设计理念