经过测试,单核机器上效果不好,甚至不如单线程效率高。多核CPU效果提升较为明显。
参考博客:http://sky-xin.iteye.com/blog/2305973
JdbcUtils.java
package com.inserttestdata;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.Vector;
import java.util.ArrayList;
public class JdbcUtils {
static String driver = "com.mysql.jdbc.Driver";
static Vector<Connection> pools = new Vector<Connection>();
private static String url_unic = "?useUnicode=true&characterEncoding=utf8";
public static Connection getDBConnection(String url,String dataBase,String user,String pwd){
try {
//1.加载驱动
Class.forName(driver);
//2.取得数据库连接
String url_total = url+"/"+dataBase+url_unic;
System.out.println(url_total);
Connection conn = DriverManager.getConnection(url_total, user, pwd);
return conn;
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
//关闭数据库连接
public static void closeCon(Connection con){
if(con != null){
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void insertIntoTable(String url,String user,String pwd,String table,List<String> list,Connection conn,PreparedStatement pstmt,int start,int end){
try {
String sql = "insert into " + table + " (" + "inner_account_id,account_id,custom_id,custom_cname,account_type,is_internal,"
+ "first_login_date,last_date,account_mode,is_special_line,account_status,custom_type_id,iwind_type,has_auxiliary"