使用PrepareStatement實現批量插入操作
使用PrepareStatement實現批量插入操作
方式一:
@Test
public void testQueryManyRecords(){
Connection connection = null;
PreparedStatement ps = null;
try {
long start = System.currentTimeMillis();
connection = JDBCUtils.getConnection();
String sql="insert into goods(name) values(?)";
ps = connection.prepareStatement(sql);
for(int i=1;i<=10000;i++){
ps.setObject(1,"admin"+i);
ps.executeUpdate();
}
long end=System.currentTimeMillis();
System.out.println("總花費的時間:"+(end-start)+"毫秒");
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(connection,ps);
}
}
執行結果:
資料庫體現:
方式二:
@Test
public void testQueryManyRecords2(){
Connection connection = null;
PreparedStatement ps = null;
try {
long start = System.currentTimeMillis();
connection = JDBCUtils.getConnection();
String sql="insert into goods(name) values(?)";
ps = connection.prepareStatement(sql);
for(int i=1;i<=10000;i++){
ps.setObject(1,"admin"+i);
ps.addBatch();
if(i%500==0){
ps.executeBatch();
ps.clearBatch();
}
}
long end=System.currentTimeMillis();
System.out.println("總花費的時間:"+(end-start)+"毫秒");
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(connection,ps);
}
}
方式三:
public void testQueryManyRecords3(){
Connection connection = null;
PreparedStatement ps = null;
try {
long start = System.currentTimeMillis();
connection = JDBCUtils.getConnection();
String sql="insert into goods(name) values(?)";
ps = connection.prepareStatement(sql);
connection.setAutoCommit(false);
for(int i=1;i<=1000;i++){
ps.setObject(1,"admin"+i);
ps.addBatch();
if(i%500==0){
ps.executeBatch();
ps.clearBatch();
}
}
connection.commit();
long end=System.currentTimeMillis();
System.out.println("總花費的時間:"+(end-start)+"毫秒");
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(connection,ps);
}
}
相關文章
- PHP配上MySQL實現批量更新插入PHPMySql
- 使用Mybatis批量插入大量資料的實踐MyBatis
- 使用MySqlBulkLoader批量插入資料MySql
- Java通過Mybatis實現批量插入資料到Oracle中JavaMyBatisOracle
- 使用 【Ado.Net】 批量插入資料
- mybatis插入資料、批量插入資料MyBatis
- SOLIDOWORKS二次開發實現批量操作功能Solid
- JDBC 批量插入資料優化, 使用 addBatch 和 executeBatchJDBC優化BAT
- insert批量插入優化方案優化
- Linux下使用Ansible處理批量操作Linux
- 使用Java預處理實現JSON插入PostgreSQLJavaJSONSQL
- 使用PreparedStatement實現CRUD操作
- Oracle批量插入資料insert all into用法Oracle
- 正規表示式處理批量插入
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- MyBatis Plus 批量資料插入功能,yyds!MyBatis
- 使用Vue實現下拉選單框批量新增選項Vue
- JavaScript實現:插入排序!!!JavaScript排序
- Mybatis批量操作demoMyBatis
- db2 sql批量插入一張表插入另一張表DB2SQL
- 【MyBatis】幾種批量插入效率的比較MyBatis
- Go 語言介面及使用介面實現連結串列插入Go
- 用JavaScript實現插入排序JavaScript排序
- MySQL 如何實現資料插入MySql
- MongoDB(7)- 文件插入操作MongoDB
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- 使用Selenium+POI實現Excel自動化批量查單詞Excel
- MyBatis學習筆記(四)使用map實現查詢和插入MyBatis筆記
- node實現批量修改圖片尺寸
- statement 、prepareStatement的用法和解釋REST
- mongodb批量操作, bulk_write,MongoDB
- EF批量插入太慢?那是你的姿勢不對
- Java實現 LeetCode 35 搜尋插入位置JavaLeetCode
- 使用Task實現非阻塞式的I/O操作
- Go - 使用 sync.WaitGroup 來實現併發操作GoAI
- 深度解析Django REST Framework 批量操作DjangoRESTFramework
- Laravel 批量插入(如果資料存在刪除原資料)Laravel
- [Django高階之批量插入資料、分頁器元件]Django元件