JDBC 기본 설정순서
준비:
ojdbc14.jar 파일 추가(oracle 10g시 쓰는 jar 파일)
<oracle 설정>
url= "jdbc:oracle:thin:@127.0.0.1:1521:XE"
driver= "oracle.jdbc.driver.OracleDriver"
user="사용자에 맞게 설정"
password="사용자에 맞게 설정";
<!--JDBC 연결순서-->
Connection -> Statement -> ResultSet
<!--Connection 맺는 예제-->
Connection DB_Connection() throws ClassNotFoundException, SQLException, Exception
{
String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
Class.forName( "oracle.jdbc.driver.OracleDriver" );
Connection conn = DriverManager.getConnection( url, "scott", "tiger" );
return conn;
}
<!--맺은 Connection으로 Statement 생성후 Query문 날리기-->
Connection conn = null;
Statement stmt = null;
//sql문은 String 형으로 선언
String sql = "update TB_MEMBER_BOARD set " +
"TITLE='" + title + "', " +
"CONTENTS='" + contents + "' " +
"where " +
"SEQ = " + seq;
conn = DB_Connection(); //Connection 생성
stmt = conn.createStatement(); //createStatement(); 사용하여 Statemene stmt를 생성
stmt.executeUpdate( sql );
<!--ResultSet으로 결과값 가져오기-->
ResultSet rs=stmt.executeQuery( sql );
if( rs.next() ) { //검색된 테이블에서 다음 열로 이동 ↓
board.setWriter(rs.getString(1));
board.setEmail( rs.getString(2) );
board.setHomepageUrl( rs.getString(3) );
board.setTitle( rs.getString(4) );
board.setContents( rs.getString(5) );
board.setReadCount( rs.getInt(6) );
board.setPassword(rs.getString(7));
}
<!--::필수:: 사용후 항상 close() 사용하여 닫아 주기-->
try { if( stmt != null ) stmt.close(); } catch ( Exception e ) {}
try { if( conn != null ) conn.close(); } catch ( Exception e ) {}
<!--::::::::::::::::::::::팁::::::::::::::::::::::::-->
commit은 기본설정으로 true가 되어있음으로 false로 설정하고 나중에 쿼리문을 사용한다음에 commit을 날리는 습관을 들이자.
try {
conn = DB_Connection();
conn.setAutoCommit(false); //오토로 설정되어있는것을 false로 줌으로서 auto를 풀어준다.
String sql = "update TB_MEMBER_BOARD set " +
"TITLE='" + title + "', " +
"CONTENTS='" + contents + "' " +
"where " +
"SEQ = " + seq;
stmt = conn.createStatement();
stmt.executeUpdate( sql );
conn.commit(); //커밋을 날린다.
conn.setAutoCommit(true); //트랜잭션 종료
} catch( Exception e ) {
conn.rollback(); //에러발생할 경우 롤백 및 트랜잭션 종료
conn.setAutoCommit(true);
out.println( e.toString() );
} finally {
try { if( stmt != null ) stmt.close(); } catch ( Exception e ) {}
try { if( conn != null ) conn.close(); } catch ( Exception e ) {}
}
'Web > JDBC' 카테고리의 다른 글
JDBC-PrepareStatement 사용하기(Statement 대신) (1) | 2009.03.31 |
---|