使用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
- jdbc Statement和PrepareStatement操作JDBCREST
- 使用Mybatis批量插入大量資料的實踐MyBatis
- 使用MySqlBulkLoader批量插入資料MySql
- Java通過Mybatis實現批量插入資料到Oracle中JavaMyBatisOracle
- Android 基於RecyclerView實現批量操作AndroidView
- ibatis對oracle資料庫的批量更新和批量插入的操作BATOracle資料庫
- 使用 【Ado.Net】 批量插入資料
- mybatis插入資料、批量插入資料MyBatis
- 使用SqlBulkCopy批量插入或遷移資料(轉)SQL
- oracle批量插入資料Oracle
- MyBatis 批量插入資料MyBatis
- Mybatis批量插入Oracle、MySQLMyBatisOracleMySql
- MongoDB不支援批量插入MongoDB
- 使用bulk collect實現cursor 批量fetch!
- .net Excel 批量插入效能慢Excel
- 單連結串列的插入刪除操作(c++實現)C++
- SOLIDOWORKS二次開發實現批量操作功能Solid
- 使用PreparedStatement實現CRUD操作
- JDBC 批量插入資料優化, 使用 addBatch 和 executeBatchJDBC優化BAT
- java中批量插入資料jdbc hibernate Mybatis使用方式JavaJDBCMyBatis
- shell指令碼批量操作使用者指令碼
- insert批量插入優化方案優化
- hibernateHQl批量插入、刪除、更新
- 大表資料插入批量提交
- 海量資料處理_批量插入
- ADO.Net的批量插入
- SQL語句批量插入資料SQL
- SqlBulkCopy 複製批量插入資料SQL
- 使用Java預處理實現JSON插入PostgreSQLJavaJSONSQL
- mybatis批量操作MyBatis
- ORACLE批量操作Oracle
- JavaScript實現:插入排序!!!JavaScript排序
- 插入排序java實現排序Java
- 插入大量資料速度慢的解決方法:批量插入
- 使用Vue實現下拉選單框批量新增選項Vue
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- MyBatis Plus 批量資料插入功能,yyds!MyBatis