使用Jdbc批量添加数据库数据

1.创建类

public class JDBC {
public static void main(String[] args) {
    
Connection connection = null;
    PreparedStatement statement = null;
    ResultSet resultSet = null;

    //模拟批量的数据
    
    Person person1 = new Person();
    person1.setName("李天佑");
    person1.setAge(20);

    Person person2 = new Person();
    person2.setName("刘一手");
    person2.setAge(30);

    Person person3 = new Person();
    person3.setName("刘美美");
    person3.setAge(40);

    //批量添加用户
    ArrayList<Person> list = new ArrayList<>();
    list.add(person1);
    list.add(person2);
    list.add(person3);
    try {
//1.加载Driver驱动
Class.forName("com.mysql.jdbc.Driver");
//2.建立数据库连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
//3.获取执行SQL语句的操作对象
String sql = "insert into person(name,age)values(?,?)";  //?代表占位符,每个?表示每个属性对应要传入的参数
statement = connection.prepareStatement(sql);       //这里使用prepareStatement操作对象,是在执行SQL语句之前,提前编译SQL语句的格式,防止SQL注入。

//遍历List集合,将封装的对象添加到数据库
for (Person person : list) {
String name = person.getName();
Integer age = person.getAge();
statement.setString(1,name);
statement.setInt(2,age);
//执行SQL语句
statement.executeUpdate();  //executeQuery()方法是SQL语句是查询的时候使用executeQuery()。SQL语句在执行添加/更新/删除数据时使用executeUpdate();
            }
} catch (Exception e) {
e.printStackTrace();
}finally {
//关闭连接对象
if (resultSet!=null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement!=null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection!=null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}

2.批量添加成功后,数据库的变化。
以下红框里面的3条记录是一次性批量添加的
 
 


原文地址:https://www.cnblogs.com/w1440199392/p/13954724.html