JDBC批量處理示例

jopen 9年前發布 | 1K 次閱讀 Java JDBC

如何使用JDBC進行批處理。

BatchExample.java:

package com.examples;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Arrays;


public class BatchExample
{
    public static void main(String[] args)
    {
        try (Connection connection = DBConnection.getConnection())
        {
            connection.setAutoCommit(false);

            try (PreparedStatement pstmt = connection.prepareStatement("Insert into txn_tbl (txn_id,txn_amount, card_number, terminal_id) values (null,?,?,?)");)
            {
                pstmt.setString(1, "123.45");
                pstmt.setLong(2, 2345678912365L);
                pstmt.setLong(3, 1234567L);
                pstmt.addBatch();

                pstmt.setString(1, "456.00");
                pstmt.setLong(2, 567512198454L);
                pstmt.setLong(3, 1245455L);
                pstmt.addBatch();

                pstmt.setString(1, "7859.02");
                pstmt.setLong(2, 659856423145L);
                pstmt.setLong(3, 5464845L);
                pstmt.addBatch();

                int[] arr = pstmt.executeBatch();
                System.out.println(Arrays.toString(arr));

                connection.commit();
            }
            catch (SQLException e)
            {
                e.printStackTrace();
                connection.rollback();
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
} 
DBConnection.java:
package com.examples;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class DBConnection
{
    public static Connection getConnection() throws SQLException, ClassNotFoundException
    {
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jcg?rewriteBatchedStatements=true", "root", "toor");

        return connection;
    }

}






 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!