티스토리 뷰

반응형

1. MySQL JdbcDriver 자동로드시키기 위해 아래와 같이 web.xml 파일에 추가한다.

<servlet>
	<servlet-name>jdbcDriver</servlet-name>
	<servlet-class>utility.DriverLoader</servlet-class>
	<init-param>
		<param-name>jdbcDriver</param-name>
		<param-value>com.mysql.jdbc.Driver</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>


2. MySQL 트랜잭션 처리하기

:: test.jsp ::

try{
	String jdbcDriver = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";
	String dbUser = "test";
	String dbPwd = "test";

	conn = DriverManager.getConnection(jdbcDriver, dbUser, dbPwd);

	// 트랜잭션 시작
	conn.setAutoCommit(false);

	pstmt = conn.prepareStatement("insert into item_1 values (?)");
	pstmt.setInt(1, 10);
	pstmt.executeUpdate();

	pstmt = conn.prepareStatement("insert into item_2 values (?)");
	pstmt.setInt(1, 100);
	pstmt.executeUpdate();

	// 트랜잭션 작동여부 확인을 위한 예외오류 발생시키기
	if(request.getParameter("error") != null){
		throw new Exception("예외 발생!");
	}

	// 트랜잭션 종료
	conn.commit
}catch(Throwable e){
	if(conn != null){
		try{
			// 오류발생시 롤백
			conn.rollback();
		}catch(SQLException se){}
	}

}finally{
	if(pstmt != null) pstmt.close();
	if(conn != null) conn.close();
}


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함