JDBC[Java Database Connectivity]는 DBMS[Database Management System]의 종류에 상관없이 JDBC API를 통해서
데이터베이스 작업을 처리할 수 있도록 해주는 기능이다.
1. JDBC[Java Database Connectivity] 사용하기
JDBC를 사용하기위해서는 먼저 사용하고자하는 DBMS에 맞는 JDBC드라이버를 준비해야 한다.
각 DBMS의 맞는 JDBC드라이버는 .jar 형태로 존재하는데, 이 .jar파일을 어플리케이션 하위의 WEB-INF\lib 디렉터리에
넣어주어야 한다.
JDBC를 진행하는 순서는 아래와 같다.
(1)JDBC 드라이버 로딩
=ex) Class.forName("com.mysql.jdbc.Drvier);
Class.forName()메서드를 통해 드라이버를 로딩하면 자동으로 JDBC드라이버로 등록해준다.
파라미터는 JDBC드라이버 클래스의 완전한 이름이다.
(2)데이터베이스 connection 구하기
=ex) Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/DBname?
useUnicode=true&characterEncoding=euc-kr", "username", "password" );
커넥션을 구할때는 DriverManager.getConnction() 메서드를 사용한다. 파라미터로는 jdbcURL과 DB유저이름, 패스워드가
요구된다. 위의 예제는 MySQL의 커넥션을 구하는 예제이다. 이 메서드는 커넥션을 구하지 못하면 SQLException을 발생시키므로
만드시 SQLException에 대한 예외처리를 해주어야 한다.
(3)쿼리 실행을 위한 Statement/PreparedStatement 객체 생성
(4)쿼리 실행
=eX) Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from TABLE");
=ex) PreparedStatement pstmt = conn.createPreparedStatement("insert into TABLE values(?,?)");
pstmt.setString(1,"Hello");
pstmt.setInt(2,1234);
pstmt.executeUpdate();
(5)쿼리 실행 결과 사용 (ResultSet)
=ex) rs.next();
ResultSet 객체의 rs는 처음에 기본적으로 첫행 이전을 가르키고 있다. 그러므로 읽어들인 결과의 행을 사용하려면
next()메서들 한 번 실행 해야 첫번째 행을 가르키는 상태가 되므로 반드시 next()메서드를 실행해 주어야 한다.
(6)Statement/PreparedStatement 종료
=ex) rs.close();
stmt.close();
pstmt.close();
(7)데이터베이스 connection 종료
=ex) conn.close();
'web > jsp' 카테고리의 다른 글
JSP JDBC ConnectionPool(커넥션 풀)과 DBCP (0) | 2014.09.08 |
---|---|
JSP Session 세션 (0) | 2014.09.08 |
JSP Cookie 쿠키 (0) | 2014.09.08 |
JSP <jsp:forward> 액션 태그, JSP 페이지 이동 (0) | 2014.09.08 |
JSP <jsp:include> 액션태그, include디렉티브, 코드 자동포함 (0) | 2014.09.08 |