JDBC PreparedStatement高階特性:批量執行sql語句
案例:
工具方法:
public static Connection getConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
ct = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","squirrel","xiaoyang");
} catch (Exception e) {
e.printStackTrace();
}
return ct;
}
/**釋放資料庫連結資源:注意資料庫資源關閉的順序*/
public static void closeConnection(){
try { //注意關閉資料庫資源的先後順序
if(rs!=null){
rs.close();
}if(ps!=null){
ps.close();
}if(ct!=null){
ct.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
測試方法:
/**PreparedStatement批量執行sql*/
public static void excuteBatchInsertDatabase(){
ct=getConnection();
try {
ct.setAutoCommit(false);
ps=ct.prepareStatement("insert into user(name,passwd,age,gender) values(?,?,?,?)" );
ps.setString(1, "BBBB");
ps.setString(2, "BBBB");
ps.setInt(3, 20);
ps.setString(4, "F");
ps.addBatch();
ps.setString(1, "BBBB");
ps.setString(2, "BBBB");
ps.setInt(3, 20);
ps.setString(4, "F");
ps.addBatch();
/**
* 等價於sql語句:
* insert into user(name,passwd,age,gender) values
* ("BBBB","BBBB",20,'F'),
* ("BBBB","BBBB",20,'F');
*/
ps.executeBatch(); //批量執行sql,避免因此單次的insert操作建立多個Connection浪費資源
ct.commit();
} catch (Exception e) {
e.printStackTrace();
try {
ct.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}finally{
closeConnection();
}
}
執行excuteBatchInsertDatabase()方法資料庫記錄:
資料庫資料記錄表明:sql語句批量執行成功
注意:
批量查詢最好交由一個事務組控制,如果出現操作異常可以進行事務回滾,不至於造成部分資料更新部分資料更新失敗的尷尬局面,避免你髒資料汙染資料庫
相關推薦
JDBC PreparedStatement高階特性:批量執行sql語句
案例: 工具方法: public static Connection getConnection(){ try { Class.forName("com.
HIVE beeline使用shell 批量執行sql語句
shell指令碼如圖所示: principal:代表的是認證方式 #!/bin/sh #-------------------------------------------- #Date: #Author: #------------------------------
c#實現用SQL池(多執行緒),定時批量執行SQL語句 (轉)
在實際專案開發中,業務邏輯層的處理速度往往很快,特別是在開發Socket通訊服務的時候,網路傳輸很快,但是一旦加上資料庫操作,效能一落千丈,資料庫操作的效率往往成為一個系統整體效能的瓶頸。面對這問題,我們怎麼辦呢?好,下面我就為大家介紹一種方法:構建SQL池,分離業務邏輯層
深入理解:Mysql執行SQL語句過程
開發人員基本都知道,我們的資料存在資料庫中(目前最多的是mysql和oracle,由於作者更擅長mysql,所以這裡預設資料庫為mysql),伺服器通過sql語句將查詢資料的請求傳入到mysql資料庫。資料庫拿到sql語句以後。都是進行了哪些操作呢?這裡向大家介紹下我
JDBC程式設計學習筆記(二)——執行SQL語句 ExecuteSQL.java
本文主要介紹使用Statement的execute()方法來執行任意的SQL語句,並列出你在執行該程式中可能會遇到的一系列問題,我只能將我在執行中遇到的問題描述,希望對你有所幫助。首先,你需要建立一個配置資料庫的配置檔案,如下圖: 檔案的內容如下圖: 內容主要是MySQ
批量執行sql語句的一個方法
該方法主要是用於多箇中間以go隔開的多個語句,通常在用sql語句批量建立表或者試圖或者儲存過程時。具體程式碼如下:/// <summary> /// 批量執行sql語句 /// 唐軍平 2009-9-17 /// </summary> /// <
JDBC 復習4 批量執行SQL
pre bat 機制 tint close .sql str 執行效率 batchsql 1使用jdbc進行批量執行SQL在實際的項目開發中,有時候需要向數據庫發送一批SQL語句執行,這時應避免向數據庫一條條的發送執行,而應采用JDBC的批處理機制,以提升執行效率。 pac
java基礎鞏固---jdbc介面PreparedStatement執行sql語句
PreparedStatement執行sql語句 public class Demo1 { /** * 增加 */ @Test public vo
JDBC批量執行sql(轉)
JDBC的批量處理語句包括下面兩個方法:addBatch(String):新增需要批量處理的SQL語句或是引數;executeBatch();執行批量處理語句;通常我們會遇到兩種批量執行SQL語句的情況
Asp.Net MVC EF之一:使用Database類在EF框架中執行Sql語句
包括 ans cti foo lists sele 下場 tex 對數 h4 { padding: 8px 5px; background-color: #32c5d2 } .start-box,.body { padding: 10px } .tit { font-siz
學習筆記——CSS的高階特性:複合、繼承、層疊
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/gaoce227/article/details/72784888 一、複合選擇器 css基本選擇器有標記選擇器、ID選擇器和類選擇器三種,由此三種組合又構成了複合選
Oracle基礎:6:通過sqlplus執行sql語句後的結果判斷
這篇文章介紹一下如何對sqlplus執行的sql語句結果進行判斷。 環境準備 使用Oracle的精簡版建立docker方式的demo環境,詳細可參看: https://blog.csdn.net/liumiaocn/article/details/82733272
執行sql語句為什麽?用PreparedStatement要比Statement好用
運行 可維護性 一個 nbsp 連接池 conn 應用 body stat PreparedStatement public interface PreparedStatement extends Statement;可以看到PreparedStatement是Statem
Python語法基礎|高階用法|高階特性:匿名函式lambda
定義一個普通函式,起碼需要def關鍵字+函式名+函式體。而lambda可定義一個匿名函式。 >>> add = lambda x,y:x+y >>> type(add) <type 'function'> lambd
PreparedStatement執行sql語句
run student urn stack 風險 tst new etc insert import com.loaderman.util.JdbcUtil; import java.sql.Connection; import java.sql.Prepare
Phoenix(3):Phoenix執行sql指令碼
一、實現功能 將需要執行sql語句寫入指令碼,然後,使用psql.py執行。 二、步驟 1.指令碼內容 (1)us_population.sql CREATE TABLE IF NOT EXISTS us_population ( "state" CHAR(2) NOT NULL
Sqlserver利用遊標批量執行SQL;
以下游標實現的功能,將A資料庫的表資料批量新增到B資料庫的表中,然後在B資料庫中先新增相應的欄位,然後根據相應的欄位進行聯表更新; 一、利用遊標批量新增欄位 declare @table_name varchar(300) declare @mSQL
SpringBoot - 配置Druid允許批量執行SQL
Druid預設是不開啟批量SQL執行的,屬性為MultiStatementAllow.配置為true即可. yml檔案配置: filters:stat spring: profiles: active: dev datasource: type: co
python高階特性:切片/迭代/列表生成式/生成器
廖雪峰老師的教程上學來的,地址:python高階特性 下面以幾個具體示例演示用法: 一、切片 1.1 利用切片實現trim def trim(s): while s[:1] == " " or s[-1:] == " ": # 若第1個元素或最後1個元素為空格 if
怎麼建立JDBC語句物件來執行SQL語句(詳解)
JDBC執行SQL語句: 一旦獲得了連結,我們可以與資料庫進行互動。JDBC Statement和PreparedStatement 介面定義了使 您能傳送SQL命令並從資料庫 進行接收資料的方法和屬性。 1.Statement:建立語句物件 在使用Statement