1. 程式人生 > >JdbcTemplate batchUpdate 批量操作加事務

JdbcTemplate batchUpdate 批量操作加事務

JdbcTemplate batchUpdate 可以用來進行批量操作,但在中途某條資料出錯時如何處理?
加入spring事務,目前發現一種能通過spring程式設計式事務(基於TransactionTemplate 的事務管理)可以實現。

1.不帶返回型別
public void transfer(final List sqls) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult(){          
        protected  void doInTransactionWithoutResult(TransactionStatus status) {  
        try {
        //JdbcTemplate batchUpdate操作
                  JdbcTemplate.batchUpdate(List sqls);
         
        } catch (Exception e) {
        System.out.println("----------RuntimeException-----"+e);
        status.setRollbackOnly();  //回滾 
        accountSumBusinessService.rollback();
        }          
                 }  
        });

}

2.帶返回型別

public Exception transfer(final List sqls) {
return (Exception) transactionTemplate.execute(new TransactionCallback(){
public Exception doInTransaction(TransactionStatus status) {
Exception exception = null;
try {
  //JdbcTemplate batchUpdate操作
                        JdbcTemplate.batchUpdate(List sqls);
}
accountSumBusinessService.finishBatchProcess();
} catch (Exception e) {
System.out.println("----------RuntimeException-----" + e);
status.setRollbackOnly(); //
accountSumBusinessService.rollback();
exception = e;
}
return exception;
}
});
}

相關推薦

JdbcTemplate batchUpdate 批量操作事務

JdbcTemplate batchUpdate 可以用來進行批量操作,但在中途某條資料出錯時如何處理? 加入spring事務,目前發現一種能通過spring程式設計式事務(基於TransactionTemplate 的事務管理)可以實現。 1.不帶返回型別 public void transfer(f

Spring JDBCtemplate.batchupdate 批量跟新資料 例項

public class BatchUpdate{     JdbcTemplate jdbctemp; //JdbcTemplate的獲取不是我所講的範圍。我們只管用spring得這一物件,     public static void main(String[] arg

使用JdbcTemplate進行批量操作

spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/200

ibatis 做批量操作(含事務)

public class Test1 { /** * 使用iBatis進行批量操作 * @param args */ public static void main(String[] args) throws Exception{ // iBatis

Ibatis的批量操作事務管理。

轉自:http://zhidao.baidu.com/link?url=_lvbPYhLUGyZxfIswK6qqAiDa8jeTZ0mOVJoef9e8fadMw9yCRlBp8HT3ZDLyEomxTm-z5W_yn4NE_ZBjLjpN_ 你用的應該是ibatis,

JdbcTemplate 執行批量操作

public RemoveBaseEmergencyEventsArrayResponse removeBaseEmergencyEvents(RemoveBaseEmergencyEventsArray rbeArr) {   final List<String&g

通過zabbix自帶api進行主機的批量操作

3.2 name 批量添加 監控 界面 eth 實例化 fail 我們 通過zabbix自帶api進行批量添加主機 我們需要監控一臺服務器的時候,當客戶端裝好zabbix-agent端並正確配置以後,需要在zabbix-server的web gui界面進行添加zabbix

StackExchange.Redis學習筆記(四) 事務控制和Batch批量操作

成了 pan arp 展示 關於 public 連續 因此 用戶 Redis事物 Redis命令實現事務 Redis的事物包含在multi和exec(執行)或者discard(回滾)命令中 和sql事務不同的是,Redis調用Exec只是將所有的命令變成一個單元一起執行,期

批量操作:更改密碼,新增用戶,添ACL權限,刪除用戶

img 刪除用戶 批量操作 新增 acl權限 info inf acl 改密 更改密碼 刪除用戶 設置ACL權限 添加用戶 批量操作:更改密碼,新增用戶,添加ACL權限,刪除用戶

thinkphp---用事務處理批量操作

我們在進行一些業務邏輯的時候,難免會出現批量操作的問題,特別是批量修改操作,如果資料量大,總會考慮到批量修改到一半怎麼辦?所以如果使用事務來進行批量操作就會好很多,直接看程式碼:   public function edit(){ if(!IS_POST)die; $dat

jdbctemplate batchupdate事務管理

良好的心態是不斷前進的 -  獻給不再年輕的自己 資料庫:sqlserver 2014 事務管理方式:程式設計式事務管理 資料庫訪問:spring jdbctemplate 目的:測試batchupdate 的事務控制 1. 不加顯式的事務管理      測試結果:ba

Spring JdbcTemplate批量操作

使用SimpleJdbcTemplate進行批量操作 SimpleJdbcTemplate類提供了另外一種批量操作的方式。無需實現一個特定的介面,你只需要提供所有在呼叫過程中要用到的引數,框架會遍歷這些引數值,並使用內建的prepared statement類進行批量操作。API將根據你是否使用

jdbcTemplate.batchUpdate批量執行的時候,效能差沒有效果,看看怎麼解決的。

我用的阿里druid資料庫連線池(其實這個和連線池毛線關係沒得 ),建立jdbctemplate在執行insert 15000條資料時 ,我發現還是30條,20條,35條這樣提交。 完全沒有batch的效果。 檢視資料庫,5秒才267條。在等20秒看,才5130條。說明這個批

使用spring jdbcTemplate和dbcp操作資料庫及事務配置

程式碼結構及jar包 ServiceClass.java package com.orange.test; import java.sql.Types; import java.util.List; import javax.annotation.PostConst

Spring批量更新JdbcTemplate.batchUpdate()

from:http://blog.csdn.net/shihuacai/article/details/11992355public class BatchUpdate{ JdbcTemplate jdbctemp; //JdbcTemplate的獲取不是我所講的範

JPA在進行update、modify和insert操作時不事務,會報錯

javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current

Oracle總結【檢視、索引、事務、使用者許可權、批量操作

前言 在Oracle總結的第一篇中,我們已經總結了一些常用的SQL相關的知識點了…那麼本篇主要總結關於Oralce檢視、序列、事務的一些內容… 在資料庫中,我們可以把各種的SQL語句分為四大類… (1)DML(資料操縱語言):select,insert,

C#使用事務批量操作例項

C#基礎語法系列- C#事務 業務描述: 寫一個 批量插入方法,InsertList, 事務中執行insert方法(單個插入)。 /// <summary> /// 批量

使用sftp操作文件並添事務管理

adb factory 而不是 auto cto ear create nts ftp連接   本文主要針對文件操作的事務管理,即寫文件和刪除文件並且能保證事務的一致性,可與數據庫聯合使用,比如需要在服務器存文件,相應的記錄存放在數據庫,那麽數據庫的記錄和服務器的文件數一定

jQuery 批量操作checkbox

ttr als false box rip 後來 true 全不選 批量操作 困擾很久的問題: 如果只是 $(‘input[type=checkbox]‘).attr(‘checked‘,true);//全選 $(‘input[type=checkbox]‘).a