1.每10000条记录插入一次数据库
public class OperateController extends Thread{
String[] sqls = new String[10001];//定义数组
MySqlHelper jdbcDao = new MySqlHelper();//JDBC工具类
public void setSqls(String[] sqls){
this.sqls = sqls;
}
//线程批量插入
public void batchInsert(){
OperateController r = new OperateController();
sqls = new String[10001];
for (int i = 0; i < billList.size(); i++) {//billList表示数据对象集合
sqls[total] = "insert into tableName(name,pwd) VALUES('"+billList.get(i).getName()+"','"+billList.get(i).getPwd()+"')";
if(total==10000){//每一万条记录调用一次线程去插入数据库
r.setSqls(sqls);
r.run();
sqls = new String[10001];
total = 0;//每10000条记录,就将total设置为0,重新计算
}
total = total+1;
}
if(sqls.length>0){//如果billList还有数据就插入最后一次
jdbcDao.executeBatch(sqls);
}
}
//开启线程插入数据库
@Override
public void run(){
//System.out.println(sqls.length+"--线程插入");
jdbcDao.executeBatch(sqls);
}
}