首頁 > Java > java教程 > 如何使用PreparedStatement有效率地將多行插入MySQL?

如何使用PreparedStatement有效率地將多行插入MySQL?

Barbara Streisand
發布: 2024-11-29 11:16:12
原創
841 人瀏覽過

How Can I Efficiently Insert Multiple Rows into MySQL Using PreparedStatement?

Inserting Multiple Rows into MySQL using PreparedStatement

When attempting to efficiently insert numerous rows into a My table, onepay scounter PreparedStatement中事先確定需要插入的行數。

為了最佳化插入過程,MySQL 提供了批次插入語法,如下所示:

INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
登入後複製

使用PreparedStatement 進行批次插入

使用PreparedStatement進行批次插入的步驟如下:<p></p><ol>使用addBatch() 方法將每行資料新增至批次處理。 <li>使用 executeBatch() 方法執行批次處理。 <li> </ol><p>範例程式碼:<strong></strong></p><pre class="brush:php;toolbar:false">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. } } } }
登入後複製
需要注意的是,執行批次插入時,建議每隔一定數量的行(例如1000)執行一次,因為某些JDBC 驅動程式或資料庫可能對批量長度有限制。

相關參考:

    JDBC tutorial - Using PreparedStatement
  • JDBC tutorial - Using PreparedStatement
  • JDBC tutorial - Using Prement

以上是如何使用PreparedStatement有效率地將多行插入MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板