利用序列插入批量数据

来源:互联网 发布:淘宝二维码扫码付款 编辑:程序博客网 时间:2024/06/06 03:07

package test;

import java.sql.Connection;
import java.sql.PreparedStatement;

import cc.yiyao.dbConn.DB;
/**
 * 利用序列插入批量数据:
 
 下面是表的对象.
create table myuser
(
  id          NUMBER(20),
  username    varchar2(20),
  userpwd     varchar2(30)
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
alter table myuser
  add constraint mu_id primary key (id)
  disable;
 

 
  CREATE SEQUENCE seq_myuser INCREMENT BY 1  START WITH 1;
 
    commit;
 
 
 *
 */

public class Test {

 public static void main(String[] args){
  
  Test test = new Test();
  test.addBatch();
 }
 
 public void addBatch(){
  String sql = "insert into myuser values(seq_myuser.nextval,?,?)";
  Connection conn = DB.getConn();
  try{
     conn.setAutoCommit(false);
  PreparedStatement ptmt = conn.prepareStatement(sql);
  for(int i=1; i<11; i++){
   ptmt.setString(1, "hello"+i);
   ptmt.setString(2, "hellopwd"+i);
   ptmt.addBatch();
  }
  int[] a = ptmt.executeBatch();
  System.out.println("len="+a.length);
  conn.commit();
  conn.setAutoCommit(true);
  }catch(Exception e){
   
   e.printStackTrace();
  }finally{
   try {
    if (conn != null) {
     conn.close();
    }
   } catch (Exception ex) {
    ex.printStackTrace();
   }
  }
  
  
 }
}
 

原创粉丝点击