JDBC batch

来源:互联网 发布:淘宝拒收会全额退款吗 编辑:程序博客网 时间:2024/06/05 09:26

直接用jdbc 进行批量删除

   //批量删除分类对象
    public void deleteBat(Integer[] catNo){
  try {
   Connection con=DBUtil.getInstance().getCon();
   String sql="delete from cat where catno=?";
   con.setAutoCommit(false);
   PreparedStatement ps=con.prepareStatement(sql);
   for (Integer in : catNo) {
    ps.setInt(1, in);
    ps.addBatch();
   }
   int[] result=ps.executeBatch();
   con.commit();
   for (int i : result) {
    System.out.println(i);
   }
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }

在jdbc 中有PreparedStatement 与Statement 两种,但是在进行批量加入时,是不一样的。一般Statement是用addBacth(sql),而在用PrepareedStatement一般用addBatch(),从上面的方法中可以看到批量进行删除是比较容易的。从我的观点来看jdbc 在做大量数据的处理时,性能比hibernate好些,有时个不得不觉得,jdbc 牛呀。