Web Dev/JSP
[JSP] MySQL jdbcDriver 자동로드 및 트랜잭션 처리하기.
ezBuilder
2013. 6. 5. 17:00
반응형
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(); }
반응형