引用地址:http://www.oschina.net/code/snippet_574870_33828
1. [代码][Java]代码
1
2
3
4
5
6
7
|
public
interface
JdbcTemplate
extends
JdbcOperations {
public
abstract
void
beginTranstaion();
public
abstract
void
commit();
public
abstract
void
rollback();
}
|
2. [代码][Java]代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
public
class
JdbcTemplateImpl
extends
org.springframework.jdbc.core.JdbcTemplate
implements
JdbcTemplate {
private
PlatformTransactionManager platformTransactionManager;
private
DefaultTransactionDefinition transactionDefinition;
private
ThreadLocal<TransactionStatus> transcationStatus =
new
ThreadLocal<TransactionStatus>();
public
void
beginTranstaion() {
TransactionStatus tmp = platformTransactionManager.getTransaction(transactionDefinition);
transcationStatus.set(tmp);
}
public
void
commit() {
TransactionStatus tmp = transcationStatus.get();
if
(tmp ==
null
) {
throw
new
RMSRuntimeException(
"no transcation"
);
}
platformTransactionManager.commit(tmp);
transcationStatus.remove();
}
public
void
rollback() {
TransactionStatus tmp = transcationStatus.get();
if
(tmp ==
null
) {
throw
new
RMSRuntimeException(
"no transcation"
);
}
platformTransactionManager.rollback(tmp);
transcationStatus.remove();
}
@Override
public
void
afterPropertiesSet() {
super
.afterPropertiesSet();
transactionDefinition =
new
DefaultTransactionDefinition();
transactionDefinition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);
transactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
platformTransactionManager =
new
DataSourceTransactionManager(getDataSource());
}
public
PlatformTransactionManager getPlatformTransactionManager() {
return
platformTransactionManager;
}
public
DefaultTransactionDefinition getTransactionDefinition() {
return
transactionDefinition;
}
public
ThreadLocal<TransactionStatus> getTranscationStatus() {
return
transcationStatus;
}
}
|
3. [代码]示例 跳至 [1] [2] [3] [全屏预览]
1
2
3
4
5
6
|
jdbcTemplate.beginTranstaion();
jdbcTemplate.update(
"delete from crms_error_task cet where cet.createddate < sysdate - ?"
,
new
Object[] { errorTimeOut });
jdbcTemplate.update(
"delete from lbt_user_option luo where luo.createddate < sysdate - ?"
,
new
Object[] { errorTimeOut });
jdbcTemplate.commit();
|