分享

Java的jdbc使用addBatch进行批处理操作的几种方式

 muyable 2015-09-09

方式一、批量执行预定义模式的SQLpublic static void exeBatch(Connection conn) {

  try {
          String sql = "insert into t_example (code, name) values (?,?)";
          PreparedStatement pstmt = conn.prepareStatement(sql);
          pstmt.setString(1, "java2");
          pstmt.setString(2, "java");
          //添加一次预定义参数
          pstmt.addBatch();      
          pstmt.setString(1, "360sdn");
          pstmt.setString(2, "软件开发技术网");
          //再添加一次预定义参数
          pstmt.addBatch();      
          //批量执行预定义SQL
          pstmt.executeBatch();
    } catch (SQLException e) {
          e.printStackTrace();
    } finally {
          closeConnection(conn);
  }
 }

方式二、批量执行混合模式的SQL、有预定义的,还有静态的
public static void exeBatchMixedSQL( Connection conn) {
  PreparedStatement pstmt =null;
 try {
         String sql = "insert into t_example (code, name) values (?,?)";
         PreparedStatement pstmt = conn.prepareStatement(sql);
         pstmt.setString(1, "java");
         pstmt.setString(2, "360sdn");
 //添加一次预定义参数
         pstmt.addBatch();  
          pstmt.setString(1, "360sdn");
          pstmt.setString(2, "软件开发技术网");
//再添加一次预定义参数
         pstmt.addBatch();   
         //添加一次静态SQL
         pstmt.addBatch("update t_example set code= '360.com' where code='360sdn'");
         //批量执行预定义SQL
         pstmt.executeBatch();
 } catch (SQLException e) {
         e.printStackTrace();
 } finally {
         closeConnection(conn);
 }
        }

方式三、执行批量静态的SQL//执行批量静态的SQL
ublic static void exeBatchSQL(Connection conn) {
  try {
          Statement stmt = conn.createStatement();
          //连续添加多条静态SQL
          stmt.addBatch("insert into t_example (code, name) values ('java', '360sdn.com')");
          stmt.addBatch("insert into t_example (code, name) values ('360', '360sdn')");
          stmt.addBatch("delete from t_example where code='java'");
          stmt.addBatch("update t_example set kind = '360data' where kind='360'");
//批量执行不支持Select语句
//          stmt.addBatch("select count(*) from t_example"); 
          //执行批量执行
          stmt.executeBatch();
  } catch (SQLException e) {
          e.printStackTrace();
  } finally {
          closeConnection(conn);
  }
        } 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多