首页 新闻 会员 周边

JDBC批量处理的一点问题

0
[待解决问题]

新人小白,想要测试statement和preparedstatement批量处理的效率做了以下测试

public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        long time = System.currentTimeMillis();

        conn = JDBCUtils.getConnection();
        try {
            stmt = conn.createStatement();
            for(int i=0; i<5000; i++) {
                String sql = "INSERT INTO b_user(id,NAME,PASSWORD,age) VALUES(1,'s','s',1);";
                // 添加需要批量处理的数据
                stmt.addBatch(sql);
            }
            // 批量执行sql语句
            stmt.executeBatch();
            System.out.println("mysql statement batch time:" + (System.currentTimeMillis() - time));    
            
            
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.closeResource(null, stmt, conn);
        }
    }

但是执行结果没有显示打印语句也没有报错,数据库中已经存在批量插入的数据,在executeBatch()语句前设断点后debug发现程序没有运行至打印语句。求大手子解释解释0 0?

耿小送的主页 耿小送 | 菜鸟二级 | 园豆:202
提问于:2016-09-21 20:25
< >
分享
所有回答(1)
1

如果没有异常应该会打印到终端上

是否出现了SQLException以外的异常

2012 | 园豆:21230 (高人七级) | 2016-09-22 08:14

所以我最奇怪的就是这点,没有打印也没有抛出任何异常

支持(0) 反对(0) 耿小送 | 园豆:202 (菜鸟二级) | 2016-09-22 08:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册