카테고리 없음

[1028 transaction] JAVA, spring transaction

트랜잭션(transaction)이란 "쪼갤 수 없는 업무 처리의 최소 단위"

 

java transaction

try
{
  con.setAutoCommit(false);

   //1 or more queries or updates

   con.commit();
}
catch(Exception e)
{
   con.rollback();
}
finally
{
   con.close();
}

출처 : https://stackoverflow.com/questions/4940648/how-to-start-a-transaction-in-jdbc

 

spring transaction

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
인터페이스/클래스 메서드  설명
Interface TransactionManager   최상위 인터페이스
PlatformTransactionManager commit(TransactionStatus status) 
getTransaction(TransactionDefinition definition) 
rollback(TransactionStatus status)
트렌젝션 메니저 - 일반적사용, 인터페이스 
AbstractPlatformTransactionManager, 
DataSourceTransactionManager, 
HibernateTransactionManager, 
JdbcTransactionManager, 
JmsTransactionManager, 
JpaTransactionManager, 
JtaTransactionManager
DataSourceTransactionManager 기준 
doBegin(Object transaction, TransactionDefinition definition)
doRollback(DefaultTransactionStatus status)
외 
DB 형태에 따른 구현 클래스 

출처 : https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/TransactionManager.html

 

xml 트랜잭션 설정

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="dataSource"></property>
</bean>
    
<tx:annotation-driven/>

출처 : https://dlwjdcks5343.tistory.com/122