当前位置:首页 > 开发 > 数据库 > 正文

数据库的批处理

发表于: 2012-07-08   作者:0624chenhong   来源:转载   浏览:
摘要:   对数据库进行操作时,要操作多条时,用批处理效率更高。 基本实现语句:pstm.addBatch();(//这一句多次执行 pstm,executeBatch();//最后执行一次 /*        基本步骤,要点 *1,首先把Auto commit设置为false,不让它自动提交 
 
对数据库进行操作时,要操作多条时,用批处理效率更高。
基本实现语句:pstm.addBatch();(//这一句多次执行
pstm,executeBatch();//最后执行一次

/*        基本步骤,要点
*1,首先把Auto commit设置为false,不让它自动提交 
*2,进行手动提交(commit) 
*3,提交完成后回复现场将Auto commit,还原为true, 
*4,当异常发生执行catch中SQLException时,记得要rollback(回滚); 
* */
public void addItem2(int orderId,List<OrderItem> items){
Connection con=null;
try {
con=DataBase.getCon();
String sql="INSERT INTO orderitem(Order_id,Good_id,num,xj) VALUES(?,?,?,?)";
PreparedStatement pstm=con.prepareStatement(sql);
con.setAutoCommit(false);
for(OrderItem orderItem:items){
pstm.setInt(1, orderId);
pstm.setInt(2, orderItem.getGood().getId());
pstm.setInt(3, orderItem.getNum());
pstm.setDouble(4,orderItem.getXj());
pstm.addBatch();
}
pstm.executeBatch();
//手动提交
con.commit();
//提交完成后回复现场将Auto commit,还原为true
con.setAutoCommit(true);

} catch (Exception e) {
e.printStackTrace();
try{
if(!con.isClosed()){
//rollback: 若出现异常,对数据库中所有已完成的操作全部撤销,则回滚到事务开始状态
con.rollback();
con.setAutoCommit(true);
}
}catch(Exception ee){
ee.printStackTrace();
}
}finally{
DataBase.close(con);
}
}

数据库的批处理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在JDBC开发中,操作数据库需要与数据库建立连接,然后将要执行的SQL语句传送到数据库服务器,最后关
为了偷点“懒”,避免每次给用户安装系统时都要交给用户怎么样安装SQL Server,减少各种“麻烦”,
  东西总是不完美的,最近想完善一下之前做的考试系统,想在录入试题的时候能一批批地录入,而不
转自:http://www.sunchis.com/html/php/mysql/2010/0312/64.html 有网友问我在win2003下如何自动备
批处理之家: http://www.bathome.net/reg.php 文件夹 PATH 列表 卷序列号为 00000002 AEF5:0D27 C:
环境 Oracle 11.2.0 + SQL Plus + PowerDesigner 15.1 问题 Oracle设计表、批处理方式快速导入到数
有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本。我想了想,这个
1 Statement和PreparedStatement的特点 a)对于创建和删除表或数据库,我们可以使用executeUpdate()
写在前面 搞图像的同学应该会常常碰到批量处理图片的情况,尤其是需要统一图片的格式、大小的时候。
Windows批处理使用方便、灵活,功能强大,自动化程度高,特别是在项目测试阶段,利用批处理脚步可以
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号