婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > jdbc使用PreparedStatement批量插入數據的方法

jdbc使用PreparedStatement批量插入數據的方法

熱門標簽:南京電銷外呼系統哪家好 電銷機器人 深圳 武漢AI電銷機器人 萬利達綜合醫院地圖標注點 股票配資電銷機器人 在電子版地圖標注要收費嗎 外呼系統會封嗎 實體店地圖標注怎么標 地圖標注如何弄全套標

批量插入

1. 批量執行SQL語句

當需要成批插入或者更新記錄時,可以采用Java的批量更新機制,這一機制允許多條語句一次性提交給數據庫批量處理。通常情況下比單獨提交處理更有效率

JDBC的批量處理語句包括下面三個方法:

  • addBatch(String):添加需要批量處理的SQL語句或是參數;
  • executeBatch():執行批量處理語句;
  • clearBatch():清空緩存的數據

通常我們會遇到兩種批量執行SQL語句的情況:

  • 多條SQL語句的批量處理;
  • 一個SQL語句的批量傳參;

2. 高效的批量插入

舉例:向數據表中插入20000條數據

數據庫中提供一個goods表。創建如下:

CREATE TABLE goods(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);

實現層次一:使用Statement

Connection conn = JDBCUtils.getConnection();
Statement st = conn.createStatement();
for(int i = 1;i = 20000;i++){
 String sql = "insert into goods(name) values('name_' + "+ i +")";
 st.executeUpdate(sql);
}

實現層次二:使用PreparedStatement

long start = System.currentTimeMillis();
  
Connection conn = JDBCUtils.getConnection();
  
String sql = "insert into goods(name)values(?)";
PreparedStatement ps = conn.prepareStatement(sql);
for(int i = 1;i = 20000;i++){
 ps.setString(1, "name_" + i);
 ps.executeUpdate();
}
  
long end = System.currentTimeMillis();
System.out.println("花費的時間為:" + (end - start));//82340
JDBCUtils.closeResource(conn, ps);

實現層次三

/*
 * 修改1: 使用 addBatch() / executeBatch() / clearBatch()
 * 修改2:mysql服務器默認是關閉批處理的,我們需要通過一個參數,讓mysql開啟批處理的支持。
 *    ?rewriteBatchedStatements=true 寫在配置文件的url后面
 * 修改3:使用更新的mysql 驅動:mysql-connector-java-5.1.37-bin.jar
 * 
 */
@Test
public void testInsert1() throws Exception{
 long start = System.currentTimeMillis();
  
 Connection conn = JDBCUtils.getConnection();
  
 String sql = "insert into goods(name)values(?)";
 PreparedStatement ps = conn.prepareStatement(sql);
  
 for(int i = 1;i = 1000000;i++){
  ps.setString(1, "name_" + i);
   
  //1.“攢”sql
  ps.addBatch();
  if(i % 500 == 0){
   //2.執行
   ps.executeBatch();
   //3.清空
   ps.clearBatch();
  }
 }
  
 long end = System.currentTimeMillis();
 System.out.println("花費的時間為:" + (end - start));//20000條:625                                                                         //1000000條:14733  
  
 JDBCUtils.closeResource(conn, ps);
}

實現層次四

/*
* 層次四:在層次三的基礎上操作
* 使用Connection 的 setAutoCommit(false)  /  commit()
*/
@Test
public void testInsert2() throws Exception{
 long start = System.currentTimeMillis();
  
 Connection conn = JDBCUtils.getConnection();
  
 //1.設置為不自動提交數據
 conn.setAutoCommit(false);
  
 String sql = "insert into goods(name)values(?)";
 PreparedStatement ps = conn.prepareStatement(sql);
  
 for(int i = 1;i = 1000000;i++){
  ps.setString(1, "name_" + i);
   
  //1.“攢”sql
  ps.addBatch();
   
  if(i % 500 == 0){
   //2.執行
   ps.executeBatch();
   //3.清空
   ps.clearBatch();
  }
 }
  
 //2.提交數據
 conn.commit();
  
 long end = System.currentTimeMillis();
 System.out.println("花費的時間為:" + (end - start));//1000000條:4978 
  
 JDBCUtils.closeResource(conn, ps);
}

到此這篇關于jdbc使用PreparedStatement批量插入數據的文章就介紹到這了,更多相關jdbc使用PreparedStatement批量插入數據內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Java編程中使用JDBC API連接數據庫和創建程序的方法
  • JDBC編程實現文件、圖片的存儲方法
  • JDBC 使用說明(流程、架構、編程)
  • Java Spring5學習之JdbcTemplate詳解
  • Spring JDBC的使用詳解
  • 將原生JDBC封裝實現CRUD的案例
  • JavaWeb實戰之用Servlet+JDBC實現用戶登錄與注冊
  • SpringBoot多數據源配置詳細教程(JdbcTemplate、mybatis)
  • Java構建JDBC應用程序的實例操作
  • JDBC編程的詳細步驟

標簽:濟源 濟寧 安徽 汕頭 泰安 廣東 臺州 武威

巨人網絡通訊聲明:本文標題《jdbc使用PreparedStatement批量插入數據的方法》,本文關鍵詞  jdbc,使用,PreparedStatement,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《jdbc使用PreparedStatement批量插入數據的方法》相關的同類信息!
  • 本頁收集關于jdbc使用PreparedStatement批量插入數據的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲欧美激情在线| 日韩欧美123| 亚洲综合色区另类av| 久久综合久色欧美综合狠狠| 欧美大白屁股肥臀xxxxxx| 国产**成人网毛片九色| 亚洲成av人片在线观看| 日韩毛片精品高清免费| 欧美日韩不卡视频| 91丨porny丨国产| 美国一区二区三区在线播放| 国产91丝袜在线观看| 美女网站在线免费欧美精品| 一区二区三区日韩| 国产精品久久久久一区 | 一区二区三区在线免费视频| 欧美精品一区二区在线观看| 91精品国产综合久久久久久漫画 | 丰满亚洲少妇av| 美女网站色91| 亚洲精品日韩综合观看成人91| 国产日韩欧美精品一区| 欧美高清精品3d| 欧美日韩一级片在线观看| 国产精品一卡二卡| 久久精品国产免费看久久精品| 青青草精品视频| 午夜视频久久久久久| 久久人人97超碰com| 26uuu亚洲综合色欧美| 欧美日韩亚洲综合一区二区三区| 色国产精品一区在线观看| 亚洲不卡av一区二区三区| 亚洲国产精品黑人久久久| 国产婷婷色一区二区三区四区| 精品国产99国产精品| 精品日韩一区二区| 日韩午夜电影av| 精品国产一区二区三区久久影院 | 亚洲一区二区偷拍精品| 亚洲精品福利视频网站| 亚洲欧洲精品天堂一级 | 久久久久99精品一区| 欧美精品一区二区久久婷婷| 精品国产在天天线2019| 久久精品av麻豆的观看方式| 日本不卡视频一二三区| 精品一区二区三区在线视频| 爽好多水快深点欧美视频| 蜜桃视频一区二区| 美日韩一级片在线观看| 国产精品一区二区久久不卡 | 亚洲成人一二三| 蜜桃免费网站一区二区三区| 亚洲综合999| 免费美女久久99| 国产一区久久久| 成人午夜又粗又硬又大| 91免费国产在线| 欧美群妇大交群中文字幕| 精品成人一区二区三区四区| 日韩欧美视频在线 | 久久香蕉国产线看观看99| 久久精品视频免费| 国产精品嫩草久久久久| 一区二区三区在线影院| 午夜精品福利一区二区三区av| 午夜精品福利一区二区蜜股av| 五月激情综合网| 美女视频网站久久| 国产成人综合在线播放| 国产一区不卡在线| 91网站视频在线观看| 久久午夜老司机| 国产精品国产三级国产| 天天爽夜夜爽夜夜爽精品视频| 性欧美疯狂xxxxbbbb| 狠狠狠色丁香婷婷综合久久五月| 国产成人精品免费视频网站| 欧美激情一区二区三区| 日韩一区二区高清| 国产精品久久久久aaaa樱花| 亚洲电影视频在线| 五月天视频一区| 国产不卡在线一区| 欧美日韩日日摸| 91视视频在线观看入口直接观看www | 欧美精品 日韩| 91 com成人网| 欧美一级欧美三级在线观看| 久久亚洲一区二区三区明星换脸| 国产亚洲精品中文字幕| 91精品国产欧美一区二区18| 久久久精品国产免费观看同学| 亚洲精品日韩综合观看成人91| 国产乱国产乱300精品| 欧美一级免费大片| 日本va欧美va欧美va精品| 色综合久久综合网| 欧美亚洲自拍偷拍| 亚洲愉拍自拍另类高清精品| 色综合天天做天天爱| 亚洲黄一区二区三区| 在线免费视频一区二区| 亚洲精品自拍动漫在线| 欧美最新大片在线看| 亚洲成av人片www| 日韩女优电影在线观看| 久久黄色级2电影| 精品福利一区二区三区免费视频| 麻豆精品一区二区三区| 91精品在线麻豆| 狠狠色2019综合网| 久久久亚洲精品石原莉奈| 成人午夜激情影院| 亚洲电影第三页| 欧美一区二区黄| 欧美男人的天堂一二区| 丝袜美腿亚洲综合| 日韩美女一区二区三区| 粉嫩嫩av羞羞动漫久久久| 亚洲成a人在线观看| 26uuu欧美| 91啦中文在线观看| 激情亚洲综合在线| 精品免费视频.| 国产精品国产三级国产三级人妇| 欧美妇女性影城| 一本大道久久精品懂色aⅴ| 日韩国产精品久久| 亚洲人亚洲人成电影网站色| 日韩免费视频线观看| 91久久精品一区二区三区| 国产精品1区二区.| 日本不卡一区二区三区高清视频| 美腿丝袜在线亚洲一区 | 精品福利一区二区三区免费视频| 欧美亚洲禁片免费| 亚洲精品水蜜桃| 成人av在线资源| 国产最新精品精品你懂的| 亚洲综合清纯丝袜自拍| 亚洲国产激情av| 久久久国产精品午夜一区ai换脸| 99在线精品观看| 国产一区二区三区四区五区美女 | 中文字幕亚洲综合久久菠萝蜜| 欧美专区亚洲专区| 亚洲综合另类小说| 成人免费视频一区| 一区二区三区日韩精品| 国产成人av一区| 国产亚洲制服色| 国产剧情一区在线| 夫妻av一区二区| 国产精品911| 中文字幕在线免费不卡| 成人黄色软件下载| 精品国产sm最大网站| 亚洲永久精品国产| 国产精品欧美一区喷水| 青草av.久久免费一区| 久久久久九九视频| 国产91精品在线观看| 日韩精品欧美成人高清一区二区| 91日韩精品一区| 国内外成人在线视频| 91视频精品在这里| 日韩高清一区在线| 尤物视频一区二区| 成人免费毛片嘿嘿连载视频| 欧美一区二区三区四区高清| 国产精品国产三级国产aⅴ无密码| 成人av午夜影院| 亚洲电影在线免费观看| 亚洲精品高清在线观看| 精品国产一区久久| 欧美顶级少妇做爰| 欧美区在线观看| 亚洲精品在线三区| 26uuu精品一区二区| 欧美成人激情免费网| 欧美成人精品福利| 精品毛片乱码1区2区3区| 国产精品福利一区二区三区| 一区二区三区**美女毛片| 国产精品短视频| 国产精品全国免费观看高清| 欧美丝袜第三区| 精品国产1区二区| 亚洲一区二区三区视频在线播放| 婷婷成人综合网| 国产91丝袜在线播放| 在线不卡中文字幕| 国产成人免费视| 欧美三级中文字幕| 亚洲综合丁香婷婷六月香| 成人免费黄色大片| 国产亚洲婷婷免费| 国产精品亚洲一区二区三区在线 |