【JDBC】批處理

批處理

應用

插入/更新/刪除 大量數據時奸绷,建議使用批處理來做
可以提高效率

使用方法

  • statement.addBatch():
    添加批處理云矫,先將數據緩存起來
  • statement.executeBatch():
    執(zhí)行批處理
  • statement.clearBatch():
    清空緩存

那么剃浇,本人現在來通過一個例子來展示下批處理的使用:
假設本人現在要求向dbstudy數據庫的users表中插入100條信息
(user編號從1開始計數俄占,名稱都暫且用“用戶”代替)

user空表

本人再來給出響應的存儲用戶信息的User類:

package edu.youzg.about_jdbc.model;

public class User {
    private String id;
    private String name;

    public User() {
    }

    public User(String id, String name) {
        this.id = id;
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setNumber(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                '}';
    }

}

那么腔长,本人來給出使用批處理解決問題的代碼:

package edu.youzg.about_jdbc.core;

import edu.youzg.about_jdbc.model.User;
import edu.youzg.about_jdbc.utils.JDBCUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;

public class BatchProcess {

    public static void main(String[] args) throws SQLException {
        //批處理
        //模擬一些數據
        ArrayList<User> list = new ArrayList<>();
        for (int i = 1; i < 100; i++) {
            User user = new User((1000 + i + "").substring(1), "user" + i);
            list.add(user);
        }
        //把集合中的1000個用戶插入到數據庫中
        Connection conn = JDBCUtils.getConnection();
        //獲取操作對象
        String sql="insert into user values(?,?)";
        PreparedStatement preparedStatement = conn.prepareStatement(sql);
        //當你插入大量數據時,建議你使用批出來
        for (User user : list) {
            preparedStatement.setString(1,user.getId());
            preparedStatement.setString(2,user.getName());
            //這行執(zhí)行sql語句代碼遏插,沒循環(huán)一次捂贿,就得執(zhí)行
            // preparedStatement.executeUpdate();
            //先把數據緩存起來
            preparedStatement.addBatch(); //添加批處理
        }
        //統一一次性執(zhí)行
        preparedStatement.executeBatch();//執(zhí)行批處理
        //清空批處理
        preparedStatement.clearBatch();
        //釋放資源
        JDBCUtils.close(conn,preparedStatement);
    }

}

那么,本人現在來展示下運行后生成的表內容:

運行后 user表

看了上述的代碼胳嘲,相信同學們也發(fā)現了:
批處理運用了緩沖區(qū)的思想


那么厂僧,本篇博文的知識點在這里就講解完畢了。
(請觀看本人博文 —— 《JDBC 專欄總集篇》)

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末胎围,一起剝皮案震驚了整個濱河市吁系,隨后出現的幾起案子,更是在濱河造成了極大的恐慌白魂,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上岗,死亡現場離奇詭異福荸,居然都是意外死亡,警方通過查閱死者的電腦和手機肴掷,發(fā)現死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門敬锐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呆瞻,你說我怎么就攤上這事台夺。” “怎么了痴脾?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵颤介,是天一觀的道長。 經常有香客問我,道長滚朵,這世上最難降的妖魔是什么冤灾? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮辕近,結果婚禮上韵吨,老公的妹妹穿的比我還像新娘。我一直安慰自己移宅,他們只是感情好归粉,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著漏峰,像睡著了一般盏浇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芽狗,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天绢掰,我揣著相機與錄音,去河邊找鬼童擎。 笑死滴劲,一個胖子當著我的面吹牛,可吹牛的內容都是我干的顾复。 我是一名探鬼主播班挖,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼芯砸!你這毒婦竟也來了萧芙?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤假丧,失蹤者是張志新(化名)和其女友劉穎双揪,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體包帚,經...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡渔期,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了渴邦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疯趟。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谋梭,靈堂內的尸體忽然破棺而出信峻,到底是詐尸還是另有隱情,我是刑警寧澤瓮床,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布盹舞,位于F島的核電站产镐,受9級特大地震影響,放射性物質發(fā)生泄漏矾策。R本人自食惡果不足惜磷账,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贾虽。 院中可真熱鬧逃糟,春花似錦、人聲如沸蓬豁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽地粪。三九已至取募,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蟆技,已是汗流浹背玩敏。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留质礼,地道東北人旺聚。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像眶蕉,于是被迫代替她去往敵國和親砰粹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內容