java使用jdbc向oracle数据库批量插入大量数据详解数据库

java使用jdbc向oracle数据库批量插入大量数据详解数据库

使用jdbc向oracle数据库批量插入大量数据:

执行代码如下:

import Java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.sql.Timestamp;

import java.text.ParseException;

import java.text.SimpleDateFormat;

public class AddDataToDB {

    public static void main(String[] args) throws Exception{

        Class.forName(“Oracle.jdbc.driver.OracleDriver”).newInstance();

        String url = “*******”;

        String uid = “************”;

        String pwd = “*********”;

        Connection conn = DriverManager.getConnection(url, uid, pwd);

        String sql = “INSERT INTO TableNameT VALUES(?,?,?,?,?,?,?,?,?)”;

        PreparedStatement pstmt = conn.prepareStatement(sql);

        int recordNum = 0; // 计数器

        int commit_size = 5000;// 每次提交记录数5

        for(int i = 33439; i <= 99999; i++){

            conn.setAutoCommit(false);//设置数据手动提交,自己管理事务  

            recordNum++; // 计数

            pstmt.setString(1, “苏F” + i);

            pstmt.setString(2, “蓝牌”);

            pstmt.setString(3, “小车”);

            pstmt.setInt(4, 345);

            pstmt.setString(5, “asdf”);

            pstmt.setString(6, “12345678900”);

            pstmt.setString(7, “dadf”);

            String str = “2013-01-15 18:18:18”;

            SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);

            pstmt.setTimestamp(8, new Timestamp( sdf.parse(str).getTime()));

            pstmt.setString(9, “adf”);

            pstmt.addBatch();

            if(recordNum % commit_size == 0){

                pstmt.executeBatch();

                conn.commit();

                conn.close();

                conn = DriverManager.getConnection(url, uid, pwd);

                conn.setAutoCommit(false);

                pstmt = conn.prepareStatement(sql);

            }

        }

        if (recordNum % commit_size != 0) {

            pstmt.executeBatch();

            conn.commit();

            System.out.println(“提交:” + recordNum);

        }

        pstmt.close();

        conn.close();

        System.out.println(“insert success!!!”);

    }

}

java使用jdbc向oracle数据库批量插入大量数据详解数据库

转载请注明来源网站:blog.ytso.com谢谢!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/4539.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论