In this Tutorial, we will take a look at how to do Batch Update using Java JDBC PreparedStatement,
Table: studentsCREATE 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:
Provide Feedback For This Article
We take your feedback seriously and use it to improve our content. Thank you for helping us serve you better!
😊 Thanks for your time, your feedback has been registered!
Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!