JAVA/JSP

Spring DataSource JdbcTemplate 예제

ddakker 2009. 4. 23. 13:22
[소스상에서 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 를 이용한 한방 처리)]