JDBC批量处理示例

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

如何使用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;
	}
	
}