/***
* 创建数据库测试批量插入数据
*
* 在数据库xzit创建数据库表格person:
* create person(
* id varchar(255),
* name vaaechar(255),
* sex varchar(2),
* age int
* );
*
*/
public class PersonDao {
/**
* 测试jdbc批处理插入数据
*
* @param persons
*/
public void testButchInsert ( List<Person> persons ) {
String sql = "insert into person values (?,?,?,?)";
Connection conn = null;
PreparedStatement ps = null;
try {
//获取数据库连接
conn = JDBCUtil.getConnection();
//获取数据库操作对象
ps = conn.prepareStatement(sql);
for (Person p : persons) {
ps.setString(1 , p.getId());
ps.setString(2 , p.getName());
ps.setString(3 , p.getSex());
ps.setInt(4,p.getAge());
/**将以上设置添加到命令列表中*/
ps.addBatch();
}
//执行批处理命令,提交数据库执行sql操作
int[] res = ps.executeBatch();
for (int i = 0; i < res.length; i++) {
System.out.println("第" + (i + 1) + "条sql数据,影响数据行数是:" + res[i]);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public class Person {
private String id;
private String name;
private String sex;
private int age;
/**
* 无参构造,系统虽然默认提供,但是一旦写了有参构造方法这个就被覆盖。
*/
public Person(){}
/**
* 有参数构造方法
* @param id
* @param name
* @param sex
* @param age
*/
public Person(String id,String name,String sex,int age){
this.id=id;
this.name = name;
this.sex = sex;
this.age = age;
}
public String getId () {
return id;
}
public void setId ( String id ) {
this.id = id;
}
public String getName () {
return name;
}
public void setName ( String name ) {
this.name = name;
}
public String getSex () {
return sex;
}
public void setSex ( String sex ) {
this.sex = sex;
}
public int getAge () {
return age;
}
public void setAge ( int age ) {
this.age = age;
}
}
public class TestButch {
public static void main ( String[] args ) {
Person person1= new Person(UUID.randomUUID().toString(),
"任我行","男",99);
Person person2 = new Person(UUID.randomUUID().toString(),
"令狐冲","男",99);
Person person3= new Person(UUID.randomUUID().toString(),
"东方不败","男",99);
Person person4 = new Person(UUID.randomUUID().toString(),
"阳顶天","男",99);
Person person5 = new Person(UUID.randomUUID().toString(),
"任盈盈","男",99);
List<Person> personList = new ArrayList<>();
personList.add(person1);
personList.add(person2);
personList.add(person3);
personList.add(person4);
personList.add(person5);
new PersonDao().testButchInsert(personList);
}
}