jdbc之批处理

阳光穿透心脏的1/2处 2022-07-12 02:44 244阅读 0赞

当需要向数据库发送一批sql指令时,应该避免一条一条的向数据库发送命令,而应该采用jdbc的批处理机制,以提升效率。

jdbc提供两种批处理机制:

第一种:

statement.addbatch(sql);,这个方法返回一个list集合,执行批处理指令———executeBatch(),之后调用clearBatch(),清理批。

  1. Connection conn = null;
  2. Statement st = null;
  3. ResultSet rs = null;
  4. try {
  5. conn = JdbcUtil.getConnection();
  6. String sql1 = "insert into user(name,password,email,birthday)
  7. values('kkk','123','abc@sina.com','1978-08-08')";
  8. String sql2 = "update user set password='123456' where id=3";
  9. st = conn.createStatement();
  10. st.addBatch(sql1); //把SQL语句加入到批命令中
  11. st.addBatch(sql2); //把SQL语句加入到批命令中
  12. st.executeBatch();
  13. } finally{
  14. JdbcUtil.free(conn, st, rs);
  15. }

采用这种方法的缺点是:没有预编译sql语句,还有就是,当要向数据库发送多条命令相同而参数不同的sql指令是,需要重复写很多次sql指令,过于繁琐。

第二种:

PreparedStatement.addBatch(),优点:发送的是预编译后的SQL语句,执行效率高。缺点: 只能应用在SQL语句相同,但参数不同的批处理中。因此此种形式的批处理经常用于在同一个表中批量插入数据,或批量更新表的数据。

发表评论

表情:
评论列表 (有 0 条评论,244人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JDBC处理

    当存在大量的数据需要操作时,如果使用通常的做法会十分浪费时间,因为一次数据库操作的时间主要在建立连接和释放资源上(即使应用了连接池,这两个步骤依然十分耗费时间)。 因此,当有

    相关 jdbc处理

    当需要向数据库发送一批sql指令时,应该避免一条一条的向数据库发送命令,而应该采用jdbc的批处理机制,以提升效率。 jdbc提供两种批处理机制: 第一种: statem

    相关 jdbc处理

    当需要向数据库发送一批sql指令时,应该避免一条一条的向数据库发送命令,而应该采用jdbc的批处理机制,以提升效率。 jdbc提供两种批处理机制: 第一种: statem

    相关 使用JDBC进行处理

    适用场景: 当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应该采用JDBC的批处理机制,以提升执行效率。 实现方式: 方式一:Stat