国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

簡單的批量讀取外部insert文并插入DB

2019-11-15 00:15:39
字體:
來源:轉載
供稿:網友
簡單的批量讀取外部insert文并插入DB
package com.tongxiang.item.base.dao;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import java.util.Arrays;import org.apache.commons.lang.StringUtils;public class ImportFromSql{        PRivate static final String URL = "jdbc:Oracle:thin:@xxx.xxx.xxx.xxx:1521:orcl";        private static final String USER = "user";        private static final String PASSWord = "password";        private static Connection CONN = null;        static    {        try        {            Class.forName("oracle.jdbc.driver.OracleDriver");            CONN = DriverManager.getConnection(URL, USER, PASSWORD);        }        catch (SQLException e)        {            e.printStackTrace();        }        catch (Exception e)        {            e.printStackTrace();        }    }        public static void main(String[] args) throws Exception    {        try        {            // insert 文件數據格式            // C://TEST.sql            // --------------------------            // insert into (...) values (...);            // insert into (...) values (...);            // insert into (...) values (...);            // --------------------------            String sqlFile = "C://TEST.sql";                        // 每次批處理數目            int batchCnt = 100;                        insertSqlBacth(CONN, sqlFile, batchCnt);        }        finally        {            CONN.close();        }    }        /**     * 傳入連接來執行 SQL 腳本文件,這樣可與其外的數據庫操作同處一個事物中     *      * @param 數據庫連接     * @param 文件路徑     * @param 每次批處理數     *      */    public static void insertSqlBacth(Connection conn, String sqlFile,            int batchCnt) throws Exception    {        Statement stmt = null;        //從給定位置獲取文件        File file = new File(sqlFile);        BufferedReader reader = null;        try        {            reader = new BufferedReader(new FileReader(file));            //每次讀取文件的緩存            String temp = null;            int i = 0;            int mod = 0;            stmt = conn.createStatement();            while ((temp = reader.readLine()) != null)            {                i++;                stmt.addBatch(StringUtils.chomp(temp.trim(), ";"));                mod = i % batchCnt;                if (mod == 0)                {                    int[] rows = stmt.executeBatch();                    conn.commit();                    System.out.println("Row count:" + Arrays.toString(rows));                    stmt.close();                    stmt = conn.createStatement();                }            }            if (mod != 0)            {                int[] rows = stmt.executeBatch();                conn.commit();                System.out.println("Row count:" + Arrays.toString(rows));                stmt.close();            }        }        catch (FileNotFoundException e)        {            e.printStackTrace();        }        catch (IOException e)        {            e.printStackTrace();        }        finally        {            //關閉文件流            if (reader != null)            {                try                {                    reader.close();                }                catch (IOException e)                {                    e.printStackTrace();                }            }        }    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝应县| 娄烦县| 宁国市| 维西| 灵丘县| 青海省| 浮山县| 沂水县| 西丰县| 栾川县| 吴川市| 丰顺县| 宜宾县| 井研县| 花莲县| 陇南市| 佛坪县| 黔江区| 同江市| 台中县| 罗田县| 青铜峡市| 恭城| 泾源县| 虹口区| 井冈山市| 光山县| 荔浦县| 西畴县| 治多县| 新田县| 巫山县| 永新县| 镇沅| 无锡市| 江川县| 通州区| 漳平市| 凤台县| 黄骅市| 嵊泗县|