In this tutorial, you will learn about JDBC batch insert using java bean / model class.
The database table(employee) in which we will insert batch of records, can be created as follows :
CREATE TABLE 'employee' ( 'employee_id' int(10) DEFAULT NULL, 'name' varchar(25) DEFAULT NULL, 'phone' varchar(25) DEFAULT NULL, 'city' varchar(25) DEFAULT NULL, 'state' varchar(25) DEFAULT NULL, 'country' varchar(25) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1
The bean class or model class 'Employee' is given below :
package jdbcBatchInsert;
import java.util.Iterator;
public class Employee {
private int employee_id;
private String name;
private String phone;
private String city;
private String state;
private String country;
/**
* @param employeeId
* @param name
* @param phone
* @param city
* @param state
* @param country
*/
public Employee(int employeeId, String name, String phone, String city,
String state, String country) {
this.employee_id = employeeId;
this.name = name;
this.phone = phone;
this.city = city;
this.state = state;
this.country = country;
}
public int getEmployee_id() {
return employee_id;
}
public void setEmployee_id(int employeeId) {
employee_id = employeeId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public Iterator<Employee> iterator() {
// TODO Auto-generated method stub
return null;
}
}
The code for batch insert using Java model or bean class is given below :
package jdbcBatchInsert;
import java.sql.*;
import java.util.ArrayList;
import jdbcBatchInsert.Employee;
public class JdbcBatchInsertUsingBeanClass {
public static void main(String args[]) {
String url = "jdbc:mysql://localhost:3306/";
String db = "jdbc_insert";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "root";
try {
Class.forName(driver);
Connection connection = DriverManager.getConnection(url + db, user,
pass);
Employee e1 = new Employee(1201, "Nina", "9595959595", "Chennai",
"TamilNadu", "India");
Employee e2 = new Employee(1202, "Samuel", "9090909090",
"Banglore", "Karnataka", "India");
Employee e3 = new Employee(1203, "Samrat", "9595959595",
"New Delhi", "Delhi", "India");
Employee e4 = new Employee(1204, "Rajju", "9090909090", "Bhopal",
"Madhya Pradesh", "India");
Employee e5 = new Employee(1205, "Fareed", "9595959595", "Indore",
"Madhya Pradesh", "India");
Employee e6 = new Employee(1206, "Rukmesh", "9090909090",
"Ahmdabaad", "Gujraat", "India");
Employee e7 = new Employee(1207, "Rajesh", "9595959595", "Lucknow",
"Uttar Pradesh", "India");
Employee e8 = new Employee(1208, "Jwala", "9090909090", "Agra",
"Uttar Pradesh", "India");
Employee e9 = new Employee(1209, "Raju", "9595959595", "Noida",
"Uttar Pradesh", "India");
Employee e10 = new Employee(1210, "Gaurav", "9090909090",
"Aligarh", "Uttar Pradesh", "India");
Employee e11 = new Employee(1211, "Nitika", "9595959595",
"Kolkata", "West Bengaal", "India");
ArrayList<Employee> employees = new ArrayList<Employee>();
employees.add(e1);
employees.add(e2);
employees.add(e3);
employees.add(e4);
employees.add(e5);
employees.add(e6);
employees.add(e7);
employees.add(e8);
employees.add(e9);
employees.add(e10);
employees.add(e11);
String sql = "insert into employee (employee_id,name,phone,city,state,country) values (?, ?, ?, ?, ?, ?)";
PreparedStatement ps = connection.prepareStatement(sql);
int count = 0;
for (Employee employee : employees) {
ps.setInt(1, employee.getEmployee_id());
ps.setString(2, employee.getName());
ps.setString(3, employee.getPhone());
ps.setString(4, employee.getCity());
ps.setString(5, employee.getState());
ps.setString(6, employee.getCountry());
ps.addBatch();
count++;
}
ps.executeBatch();
System.out.println(count + " records inserted successfully");
ps.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
In console, you will get the following message :
11 records inserted successfully
After batch insertion, you will get the following records in database table "employee" :

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: JDBC batch insert using Java bean class
Post your Comment