必要的文字描述:
当需要成批插入或者更新记录时。可以采用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