자바 jdbc 데이터베이스 에 대량의 데이터 삽입

2359 단어 자바sql
1899942,신장-우루무치
1899944,신장-하 미
1899946,신장-투루판
1899948,신장-탑 성
1899950,신장-클 라마 이
1899952,신장-클 라마 이
1899954,신장-창 길
1899956,신장-창 길
1899958,신장-이리
1899960,신장-쿠 르 러
1899962,신장-쿠 르
1899964,신장-카 슈
1899966,신장-아크 소
1899968,신장-하 미
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
몇 만 개의 이런 데 이 터 는 데이터 베 이 스 를 삽입 해 야 한다.


public class Main { 
public static void main(String[] args) throws Exception{ 
String sql = "insert into mobile_place(number,place) values(?,?)"; 
int count = 0;//    
Connection conn = JDBCUtil.getConnection(); 
PreparedStatement pstmt = conn.prepareStatement(sql); 
try { 
InputStreamReader is = new InputStreamReader(new FileInputStream(new File("D:/CC.txt")),"utf-8"); 
BufferedReader br = new BufferedReader(is); 
while(br.readLine() != null){ 
conn.setAutoCommit(false);//        ,       
count++;//       ,   +1 
String str = br.readLine().toString().trim();//       
String s1 = str.substring(0, str.indexOf(","));//         
String s2 = str.substring(str.indexOf(",")+1,str.length());//         
pstmt.setString(1, s1); 
pstmt.setString(2, s2); 
pstmt.addBatch();// PreparedStatement      

if(count%500==0){//    500           
pstmt.executeBatch();//      
conn.commit();//   
conn.close();//      
conn = JDBCUtil.getConnection();//         
conn.setAutoCommit(false); 
pstmt = conn.prepareStatement(sql); 
} 
System.out.println("   "+count+"   "); 
} 
if(count%500!=0){//while      ,               500              
pstmt.executeBatch(); 
conn.commit(); 
} 
pstmt.close(); 
conn.close(); 
} catch (Exception e) { 
e.printStackTrace(); 
} 
} 
} 
500      ,      。            

getConnection()         
public static Connection getConnection(){ 
try { 
Class.forName("com.mysql.jdbc.Driver"); 
} catch (ClassNotFoundException e) { 
e.printStackTrace(); 
} 
try { 
conn = DriverManager.getConnection(url, userName, password); 
} catch (SQLException e) { 
e.printStackTrace(); 
} 
return conn; 
}

좋은 웹페이지 즐겨찾기