您好,登錄后才能下訂單哦!
本篇內容介紹了“java怎么實現批量導入csv文件到mysql數據庫”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
package com.cqu.price_prediction.farm; import java.io.File;import java.io.FileNotFoundException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.Scanner; public class Read{ private static Connection con; public static void main(String[] args) throws FileNotFoundException, SQLException { long startTime = System.currentTimeMillis(); File file = new File("H:/AgriculturalProduct/data/farming.csv"); Scanner in = new Scanner(file); getConnect(); System.out.println("數據庫連接成功"); insert_data(in); long EndTime = System.currentTimeMillis(); long time = (EndTime - startTime) / 1000; System.out.println("導入數據共用時:" + time); } private static void insert_data(Scanner in) throws SQLException { int count = 0; String sql = "insert into farming (province,market,type,name,standard,area,color,unit,minprice,avgprice,maxprice,entertime,time)" + "values(?,?,?,?,?,?,?,?,?,?,?,?,?)"; con.setAutoCommit(false); PreparedStatement pstmt = con.prepareStatement(sql); in.next(); while (in.hasNext()) { String temp1 = in.nextLine(); String[] temp = temp1.split(","); if (temp.length < 13) continue; if (temp.length == 13) { pstmt.setString(1, temp[0]); pstmt.setString(2, temp[1]); pstmt.setString(3, temp[2]); pstmt.setString(4, temp[3]); pstmt.setString(5, temp[4]); pstmt.setString(6, temp[5]); pstmt.setString(7, temp[6]); pstmt.setString(8, temp[7]); pstmt.setString(9, temp[8]); pstmt.setString(10, temp[9]); pstmt.setString(11, temp[10]); pstmt.setString(12, temp[11]); pstmt.setString(13, temp[12]); } pstmt.addBatch(); count++; if (count == 20000) { count = execute(pstmt, count); } } pstmt.executeBatch(); con.commit(); } public static int execute(PreparedStatement pstmt, int count) throws SQLException { pstmt.executeBatch(); con.commit(); return 0; } private static void getConnect() { try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/agricultural_price_prediction?useUnicode=true&characterEncoding=utf8&useServerPrepStmts=false&rewriteBatchedStatements=true", "root", "123456"); } catch (ClassNotFoundException | SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
“java怎么實現批量導入csv文件到mysql數據庫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。