Spring批量更新JdbcTemplate.batchUpdate()
from:http://blog.csdn.net/shihuacai/article/details/11992355
public class BatchUpdate{ JdbcTemplate jdbctemp; //JdbcTemplate的獲取不是我所講的範圍。 我們只管用spring得這一物件, public static void main(String[] args) { BatchUpdate bu = new BatchUpdate(); List list = bu.storeList(); bu.batchUpdateLinkset(list); } public List storeList(){ List linkset = new ArrayList(); linkset.setDOMAIN_ID("domain_idTeset"); linkset.setNE_ID("ne_idTEST"); linkset.setSIGLINKSET_NAME("SIGLINKSET_NAMEtest"); linkset.setN_CONFIRM(0); linkset.setTIME_STAMP("2010-07-27 09:05:21"); updatelist.add(linkset); } public void batchUpdateLinkset(final List list) { String sql = "update LINK_SET set N_CONFIRM=?,TIME_STAMP=?,DOMAIN_ID=?,SIGLINKSET_NAME=? where NE_ID=?"; jdbctemp.batchUpdate(sql, new BatchPreparedStatementSetter() { public int getBatchSize() { return list.size(); //這個方法設定更新記錄數,通常List裡面存放的都是我們要更新的,所以返回list.size(); } public void setValues(PreparedStatement ps, int i)throws SQLException { Linkset linkset = (Linkset) list.get(i); ps.setString(1, linkset.getCHINA_NAME()); ps.setString(2, linkset.getENGLISH_NAME()); ps.setInt(3, linkset.getN_CONFIRM()); ps.setString(4, linkset.getTIME_STAMP()); ps.setInt(5, linkset.getDOMAIN_ID()); ps.setString(6, linkset.getSIGLINKSET_NAME()); ps.setString(7, linkset.getNE_ID()); } }); } }
第二種寫法
List glxxParams = new ArrayList(); for(int i=0;i<glxxList.size();i++){ Object glxxParam[]={ glid, glxxList.getJSONObject(i).optString("jbxxID"), glxxList.getJSONObject(i).optString("bz"), }; glxxParams.add(glxxParam); } super.getJdbcTemplate().batchUpdate(sql_glxx,glxxParams);
相關推薦
Spring批量更新JdbcTemplate.batchUpdate()
from:http://blog.csdn.net/shihuacai/article/details/11992355public class BatchUpdate{ JdbcTemplate jdbctemp; //JdbcTemplate的獲取不是我所講的範
關於Spring的JdbcTemplate批量更新batchUpdate()方法的返回值為-2的異常
近日在使用JdbcTemplate做大量的資料庫資料同步的工作,基本就是“從A庫查詢資料--生成CSV--解析成SQL插入B庫”這樣一個過程。因為使用的是JdbcTemplate,所以在將資料匯入B庫時採用的是“先批量刪,再批量插入”的策略。如果B庫有相同主鍵的記錄,則
Spring JDBCtemplate.batchupdate 批量跟新資料 例項
public class BatchUpdate{ JdbcTemplate jdbctemp; //JdbcTemplate的獲取不是我所講的範圍。我們只管用spring得這一物件, public static void main(String[] arg
spring JdbcTemplate批量更新
spring JdbcTemplate 的批量更新: 1、JdbcTemplate batchUpdate(new String[]{}); 一次執行多個sql語句; 2、 Java程式碼 final List tmpList = ....; int co
Spring JdbcTemplate批量更新速度很慢的問題
由於一次要執行很多條插入語句(5w條),通常通過mysql寫原生的插入語句會有類似的格式: insert into TableAAA(f1,f2) values (f11v,f21v),(f12v,
spring jdbcTemplate批量更新資料
引入了spring框架之後,jdbcTemplate可以直接使用 將jdbcTemplate依賴注入 @Autowired private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate
JdbcTemplate查詢與批量更新
1.定義 JdbcTemplate是將spring與jdbc進行了整合,可以簡化資料庫操作,相比Hibernate、Mybatis感覺配置少很多,用起來有點像springboot的JPA,但是會比它臃腫一些。 2.應用 2.1 配置 採用資料庫連線池 <bean id=
jdbcTemplate高效批量插入和批量更新 模擬原生jdbc批量10s插入10萬條到mysql
1.專案中親測一次性插入10萬條資料差不多用了10s,這時候只能使用原生jdbc,spring框架為我們薄薄的封裝了個jdbcTemplate 思路就是準備插入資料庫的分隔成1萬條(自己根據資料包或網路定具體數量),將sql拼成字串(減少mysql多次訪問的壓力,拿連線和mysql日誌生成的數量
jdbcTemplate.batchUpdate在批量執行的時候,效能差沒有效果,看看怎麼解決的。
我用的阿里druid資料庫連線池(其實這個和連線池毛線關係沒得 ),建立jdbctemplate在執行insert 15000條資料時 ,我發現還是30條,20條,35條這樣提交。 完全沒有batch的效果。 檢視資料庫,5秒才267條。在等20秒看,才5130條。說明這個批
MyBatis批量更新報錯org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.bindin
需求描述:今天在專案中寫了一個批量更新的操作,dao層使用的是MyBatis框架。 錯誤資訊:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.bi
JdbcTemplate batchUpdate 批量操作加事務
JdbcTemplate batchUpdate 可以用來進行批量操作,但在中途某條資料出錯時如何處理? 加入spring事務,目前發現一種能通過spring程式設計式事務(基於TransactionTemplate 的事務管理)可以實現。 1.不帶返回型別 public void transfer(f
jdbcTemplate高效批量插入和批量更新
批量插入(資料量超一萬時建議分批次提交,每次一萬條) /** * 生成goodsIssue的幸運碼<大量資料一次性插入> * @param goodsIssue * @a
Spring Boot入門——JDBCTemplate使用及其相關問題解決
oca accounts abs method const error mas exist release 1、在pom.xml文件中引入相應依賴 <!-- mysql依賴 --> <dependency> <
批量更新
data- art length 數據庫 con text blog 技術 net 項目中進行產品升級。數據庫有所變化,為了升級曾經的產品,在一個一個寫update腳本,最後發現是有規律的。!。。。還是應該多思考。差點就的多些好幾行啊 update ep
mysql 批量更新語句
sql enum line new when title class 批量更新 語句 UPDATE `表名` SET `字段` = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHE
JDBC高級特性(一)結果集,批量更新
事務 必須 -h eth mark cep tro cancel 相對定位 一、ResultSet的高級特性 1 可滾動ResultSet 1)向前和向後滾動 滾動特性 在JDBC初期版本號中, ResultSet僅能向前滾動 在JDBC興許版本號中,
C#批量更新mongodb符合條件的數據
div pda 第一條 匹配 upd lag god 批量更新 mongo 默認情況下只會更新匹配的第一條 jingjiaanalyurl.Update(Query.EQ("auid", jingjiaitem.id), Update.Set("aurlname",
SqlBulkCopy批量更新數據庫表用例
conn batch map nsa 更新數據 efault copy mapping using using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(da.Connection as SqlConnection, SqlBu
MySql 批量更新語法
舉例 rom info round ber ner from sql數據庫 yam mysql數據庫在批量更新某表的字段時,語法如下: UPDATE A AS aINNER JOIN ( SELECT * FROMA WHERE....) AS b ON a.order
批量更新數據問題
file field 技術分享 query 循環數組 sql 簡寫 div 更新 同事最近遇到一個需要根據索引字段更新狀態數據的需求,而這個處理邏輯是循環查詢單條更新解決 主要代碼如下(簡寫): <?php foreach($array as $v) { q