必要的文字描述:
当需要成批插入或者更新记录时。可以采用Java的批量更新机制,
这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率;一个SQL语句的批量传参;
简洁的代码:
/** * <一句话功能简述>批量处理插入10000条数据 * <功能详细描述> * @see [类、类#方法、类#成员] */ public void update() { String sql = "insert into t_emp13 (first_name,salary) values (?,?)"; Connection conn = null; PreparedStatement preparedStatement = null; ResultSet result = null; long begin = System.currentTimeMillis(); try { conn = getConn(); conn.setAutoCommit(false); preparedStatement = conn.prepareStatement(sql); // 将参数放到preparedStatement的未知参数中 for (int i = 0; i < 10000; i++) { preparedStatement.setString(1, "name_" + i); preparedStatement.setObject(2, i); // 积攒SQl preparedStatement.addBatch(); // 当积攒到一定程度 就统一执行一次,并且清空积攒的sql if (0 == (i + 1) % 300) { preparedStatement.executeBatch(); preparedStatement.clearBatch(); } } if (0 != 10000 % 300) { preparedStatement.executeBatch(); preparedStatement.clearBatch(); } conn.commit(); long end = System.currentTimeMillis(); System.out.println(begin - end); } catch (Exception e) { e.printStackTrace(); } finally { releaseSource(preparedStatement, conn, result); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/cuigaochong/article/details/48001995