Java中使用PreparedStatement同时插入多行
问题:
如何优化使用 Java 将多行插入到 MySQL 表中,利用受支持的 MySQL 语法在一个语句中插入多个值?
答案:
利用PreparedStatement#addBatch() 和PreparedStatement#executeBatch() 允许创建一批插入及其随后的
示例:
考虑以下示例来启动批量插入:
public void save(List<Entity> entities) throws SQLException { try ( Connection connection = database.getConnection(); PreparedStatement statement = connection.prepareStatement(SQL_INSERT); ) { int i = 0; for (Entity entity : entities) { statement.setString(1, entity.getSomeProperty()); // ... statement.addBatch(); i++; if (i % 1000 == 0 || i == entities.size()) { statement.executeBatch(); // Execute every 1000 items. } } } }
实现细节:
以上是如何使用Java的PreparedStatement优化MySQL中的多行插入?的详细内容。更多信息请关注PHP中文网其他相关文章!