为了账号安全,请及时绑定邮箱和手机立即绑定

oracle数据库批处理演示

标签:
Java Oracle
package cabby;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * 批处理演示
 * @author Cabby
 *
 */
public class BatchDemo {
    public static void main(String[] args) {
        batchSql();
    }
    public static void batchSql(){
        String sql="insert into mytemp_xxx(id) values(?)";
        Connection conn=null;
        PreparedStatement stmt=null;
        try {
            conn=JDBCUtil.getConnection();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            conn.setAutoCommit(false);
            stmt=conn.prepareStatement(sql);
            for(int i=1;i<=105;i++){
                stmt.setInt(1, i);
                //把sql语句加入批处理
                stmt.addBatch();
                //每10条记录处理一次
                //避免批处理中的sql语句太多
                if(i%10==0){
                    //执行
                    stmt.executeBatch();
                    //清除
                    stmt.clearBatch();
                }
            }
            //执行最后的5条sql
            stmt.executeBatch();
            conn.commit();
        } catch (SQLException e) {
            try {
                //发生异常时回滚
                conn.rollback();
            } catch (SQLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            e.printStackTrace();
        }finally{
            try {
                stmt.close();
                JDBCUtil.close(conn);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}
点击查看更多内容
4人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消