老师 我有疑问

老师 我有疑问

Connection conn = null;
        PreparedStatement Psta = null;
        int num = 0;
        try {
            long startTime = new Date().getTime();//获取到毫秒数
            conn = UbUtils.getConnection();
            String url = "insert ignore  employee(eno,ename,salary,dname,hiredate)values(?,?,?,?,?)";
            //JDBC默认使用自动提交方式
            //改为手动提交事务
            conn.setAutoCommit(false);
            Psta = conn.prepareStatement(url);
            int j = 1;
            for (int i = 10000; i < 20000; i++) {
//                if (i == 1040) {
//                    num = i;
//                    throw new RuntimeException("信息导入有误!");
//                }
                Psta.setInt(1, i);
                Psta.setString(2, "员工" + i);
                Psta.setFloat(3, 4000f + j);
                Psta.setString(4, "经济部");
                Psta.setString(5, "2021-05-06");
                Psta.executeUpdate();
                j++;
                //System.out.println("编号为" + i + "的员工数据加入完成");
            }
            //数据操作完成之后才进行提交数据
            conn.commit();//提交数据
            long endTime = new Date().getTime();
            System.out.println("display01执行时长:" + (endTime - startTime));
        } catch (Exception e) {
            e.printStackTrace();
            try {
                if (conn != null && conn.isClosed() == false) {
                    conn.rollback();
                }
            } catch (SQLException ex) {
                ex.printStackTrace();//回滚数据
            }
        } finally {
            UbUtils.closeConnection(null, Psta, conn); 
        }


老师 我问一下 在这串代码中,我只是把

Psta = conn.prepareStatement(url);

这句代码放上面去了,算不算批处理,没有用视频里面的方法,我感觉不是批处理,因为每次都被执行了,不知道对不对,麻烦老师详细讲一下

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
星辰很精彩 提问者 2022-08-11 18:16:54
可是这样写也能通过
  • home_11 #1

    不论是否使用批处理代码都可以运行,只是在大规模更新包括写入时,用批处理效率更高。

    2022-08-15 22:54:17
好帮手慕小黑 2022-08-11 18:15:41

同学你好,同学所说的代码不是批处理,因为在第24行代码中Psta.executeUpdate();,不是批处理方式,应该将Psta.executeUpdate();修改为Psta.addBatch();并且在for循环下书写Psta.executeBatch();

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师