Я пытался реализовать код, который бы извлекал массив из идентификаторов пользователей из одной таблицы в MySQL, а затем использовал полученные значения, чтобы сделать массовую / пакетную вставку в другую таблицу из той же базы данных MySQL. Размер или длина пакетной вставки должны совпадать с массивом идентификаторов пользователей, которые были извлечены.
Я попытался получить идентификаторы пользователей с помощью класса модели, а затем с помощью цикла for для вставки других данных, включая различные идентификаторы пользователей, в базу данных.
SubscribersServlet.java
public static void bulkNotify(List<Notify> notifyList) {
String sql = "insert into attnotif (attndid,sender,title,message,urgency,artistid) values (?,?,?,?,?,?)";
try (Connection connection = DBConnect.getConnection()) {
connection.setAutoCommit(false);
try {
try (PreparedStatement ps = connection.prepareStatement(sql)) {
for (Notify notify : notifyList) {
ps.setInt(1, notify.getuserid());
ps.setString(2, notify.getSender());
ps.setString(3, notify.getNotifytitle());
ps.setString(4, notify.getNotifymessage());
ps.setString(5, notify.getNotifyurgency());
ps.setInt(6, notify.getArtistid());
ps.addBatch();
}
ps.executeBatch();
}
connection.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}catch (SQLException e) {
e.printStackTrace();
}
}
Я хочу иметь возможность вставлять заголовок, сообщение, срочность, artistid (все с одинаковым значением) и идентификатор пользователя (разные значения) в несколько строк в моей базе данных.