Java JDBC Batch Update Example with PreparedStatement


In this Tutorial, we will take a look at how to do Batch Update using Java JDBC PreparedStatement,

Table: students
CREATE TABLE `students` (
  `student_id` int NOT NULL AUTO_INCREMENT,
  `student_name` varchar(45) NOT NULL,
  `student_dob` datetime NOT NULL,
  `student_address` varchar(45) NOT NULL,
  PRIMARY KEY (`student_id`);

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDate;


Java Code Example:
public class JDBCBatchUpdateExample {
    
    public static void main(String[] args) throws ClassNotFoundException, SQLException {

        String url ="jdbc:mysql://localhost:3306/my_uat";
        String userName="root";
        String password ="root123";
        String batchInsertQuery ="insert into students values(?,?,?,?)";
        Connection connection = DriverManager.getConnection(url,userName,password);
        PreparedStatement preparedStatement = connection.prepareStatement(batchInsertQuery);

        preparedStatement.setObject(1, null);
        preparedStatement.setObject(2, "Harry");
        preparedStatement.setObject(3, LocalDate.of(1997, 01, 03));
        preparedStatement.setObject(4, "London");
        preparedStatement.addBatch();

        preparedStatement.setObject(1, null);
        preparedStatement.setObject(2, "Ron");
        preparedStatement.setObject(3, LocalDate.of(1999, 03, 19));
        preparedStatement.setObject(4, "Paris");
        preparedStatement.addBatch();

        preparedStatement.setObject(1, null);
        preparedStatement.setObject(2, "Hermione");
        preparedStatement.setObject(3, LocalDate.of(1995, 02, 14));
        preparedStatement.setObject(4, "Paris");
        preparedStatement.addBatch();
        
        int[] resultSet = preparedStatement.executeBatch();

        for(int result: resultSet) {
            System.out.println("Result: " +result);
        }
    
    }
}

Make sure to add the records to the batch or else nothing will get executed.

Also a common mistake if you do preparedstatement.addBatch() at the end of each record only the last record will get written.

Result:
Java JDBC Batch Update Example
Java JDBC Batch Update Example


Have Questions? Post them here!
Advertisements
Try Out Code2care Dev Tools:

Advertisements

Advertisements
Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and software developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include learnings, tutorials, trouble-shooting steps, video tutorials, code snippets, how-to, blogs, articles, etc.

🎉 We are celebrating the 10th years of Code2care! Thank you for all your support!

We strongly support Gender Equality & Diversity.