[소스상에서 Transaction 처리]
public class DemoServiceImpl extends JdbcDaoSupport implements DemoService {
private TransactionTemplate txTemplate;
public void setTransactionManager(PlatformTransactionManager txManager) {
this.txTemplate = new TransactionTemplate(txManager);
this.txTemplate.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRED);
}
public int selectTest() throws Exception{
// Transaction Handling
txTemplate.execute(new TransactionCallbackWithoutResult() {
public void doInTransactionWithoutResult(TransactionStatus status) {
int cnt = getJdbcTemplate().update("insert into ddakker_test(SEQ, TXT)values(?,?)", new Object[]{"4","txt4"});
System.out.println("insert cnt: " + cnt);
int cnt2 = getJdbcTemplate().update("insert into ddakker_test(SEQ, TXT1)values(?,?)", new Object[]{"5","txt5"});
System.out.println("insert cnt2: " + cnt2);
}
});
List list;
Object params[] = {3};
list = getJdbcTemplate().queryForList("select seq, txt from ddakker_test where seq = ?", params);
System.out.println("list1: " + list.size());
Iterator i = list.iterator();
System.out.println("i : " + i);
while(i.hasNext()){
Map map = (Map) i.next();
System.out.println("map" + map);
}
return 0;
}
}
[설정파일에서 Transaction 처리]
public class Demo2Servicelmpl extends JdbcDaoSupport implements Demo2Service {
public int selectTest() throws Exception {
int cnt = getJdbcTemplate().update("insert into ddakker_test(SEQ, TXT)values(?,?)", new Object[]{"4","txt4"});
System.out.println("insert cnt: " + cnt);
int cnt2 = getJdbcTemplate().update("insert into ddakker_test(SEQ, TXT1)values(?,?)", new Object[]{"5","txt5"});
System.out.println("insert cnt2: " + cnt2);
List list;
Object params[] = {3};
list = getJdbcTemplate().queryForList("select seq, txt from ddakker_test where seq = ?", params);
System.out.println("list1: " + list.size());
Iterator i = list.iterator();
System.out.println("i : " + i);
while(i.hasNext()){
Map map = (Map) i.next();
System.out.println("map" + map);
}
return 0;
}
}
PROPAGATION_REQUIRED,-Exception
PROPAGATION_SUPPORTS
[설정파일에서 Transaction 처리(AspectJ 를 이용한 한방 처리)]