JSP Transaction 처리 (setAutoCommit)

-- JSP, SPRING 2011. 11. 28. 19:33
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

DB처리 시 Transaction을 처리할 일이 생겨 아래처럼 정리해둔다.

<%@ page language="java"
    contentType="text/html;charset=euc-kr"
    import="java.util.*,java.io.*,java.sql.*"
%>

<%
    // 드라이버를 위해 웹서버 lib에 sqljdbc4.jar 저장 필요

    String strDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String strDBConn = "jdbc:sqlserver://IP ADDRESS:1433;DatabaseName=DBNAME";
    String strUserID = "USERID";
    String strUserPW = "USERPASSWORD";


    Class.forName(strDriver);
    Connection objConn = DriverManager.getConnection(strDBConn, strUserID, strUserPW);

    // JDBC는 기본으로 AutoCommit이므로 false로 지정한다.
    objConn.setAutoCommit(false);

    // Statement

     Statement objStmt = objConn.createStatement();
     ResultSet objRS = objStmt.executeQuery("SELECT TOP 5 * FROM TADMIN WITH (NOLOCK)");
 
     while(objRS.next()) {

          out.println(objRS.getString("AdminName") + "<BR>");
     }

    objRS.close();
    objStmt.close();

    String strSQL = "UPDATE TADMIN SET NAME = ? WHERE ADMINID = ? ";

    PreparedStatement objPStmt = objConn.prepareStatement(strSQL);
    objPStmt.setString(1, "TIGER");
    objPStmt.setString(2, "tiger");

    
    try 
    {
         objPStmt.executeUpdate();

         // 여기서는 바로 commit을 하였으나, 현업에서는 여러 쿼리 후 commit이나 rollback을 지정하면 된다.
         objConn.commit();
    }
    catch(SQLException e)
    {
        objConn.rollback();
    }

    objPStmt.close();
    objConn.close();
%>    

'-- JSP, SPRING' 카테고리의 다른 글

Random키 생성  (0) 2011.12.08
jsp upload처리  (0) 2011.11.28
Servlet 사용 시 Static으로 사용하기  (0) 2011.11.17
JSP DB연결 및 쿼리  (0) 2011.11.10
DB별 JDBC드라이버 연결스트링  (0) 2011.11.10
posted by 어린왕자악꿍