日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql jdbc批量更新_jdbc批量更新数据

發(fā)布時(shí)間:2025/3/19 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql jdbc批量更新_jdbc批量更新数据 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

{

boolean add = true;

Connection conn = null;

PreparedStatement pst = null;

String sql = null;

try

{

conn = this.getConnection();

conn.setAutoCommit(false);

// sql = "MERGE INTO PUSH_NUMBER T1 "

// + " USING (SELECT ? AS MOBILE, ? AS PKG_ID FROM DUAL) T2 "

// + " ON (T2.MOBILE=T1.USER_NUMBER AND T2.PKG_ID=T1.PKG_ID) " + " WHEN NOT MATCHED THEN "

// + " INSERT VALUES(SEQ_PUSH_NUMBER.NEXTVAL,?,?)";

sql = "insert into PUSH_NUMBER(NUMBER_ID,USER_NUMBER,PKG_ID) values(null,?,?)";

pst = conn.prepareStatement(sql);

int num = 0;

for (String mobile : numbers)

{

num++;

pst.setString(1, mobile);

pst.setInt(2, pkgId);

pst.addBatch();

if (num % 30000 == 0)

{

pst.executeBatch();

pst.clearBatch();

}

}

if (num > 0)

{

pst.executeBatch();

}

conn.commit();

}

catch (Exception e)

{

add = false;

logger.error("addNumber was failed!", e);

}

finally

{

if (null != pst)

{

pst.close();

}

if (null != conn)

{

conn.close();

}

}

return add;

}

spring jdbc批量入庫

//采用insert into replace 檢測(cè)手機(jī)號(hào)碼是否存在,存在更新,不存在新增

String sql = "insert into push_token(token,mobile) values(?,?) on DUPLICATE KEY UPDATE token = ?";

List args = new ArrayList();

for (int i = 0; i < tokens.size(); i++) {

Object[] objects = new Object[]{tokens.get(i), mobiles.get(i), tokens.get(i)};

args.add(objects);

}

//3000條提交一次

ArrayList temp = new ArrayList(3000);

List copy = null;

for (Object[] objects : args) {

temp.add(objects);

if (temp.size() >= 3000) {

copy = (List) temp.clone();

temp.clear();

if (temp.isEmpty() && copy.size() >= 3000) {

getJdbcTemplate().batchUpdate(sql, copy);

}

}

}

if (temp.size() > 0) {

copy = (List) temp.clone();

temp.clear();

if (temp.isEmpty() && copy.size() > 0) {

getJdbcTemplate().batchUpdate(sql, copy);

}

}

總結(jié)

以上是生活随笔為你收集整理的mysql jdbc批量更新_jdbc批量更新数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。