이로

JSP 에서 JDBC 프로그래밍 하기 본문

컴퓨터/JSP

JSP 에서 JDBC 프로그래밍 하기

利路 2019. 6. 24. 23:59
반응형

1. JDBC 드라이버 로딩

 JDBC 드라이버를 로딩해야 데이터베이스에 연결해서 원하는 작업을 수행할 수 있다.

try{
Class.forName("com.mysql.jdbc.Driver"); // JDBC 드라이버를 로딩
} catch(ClassNotFoundException ex){} // 지정한 클래스가 존재하지 않을 경우
// 에러가 발생한다. 

 

 

2. 데이터베이스 커넥션 생성

 JDBC를 이용해서 데이터베이스를 사용하려면 java.sql.DriverManager클래스가 제공하는 getConnection()

메서드를 사용해서 커넥션을 구해야 한다.

try {
	conn=DriverManager.getConnection(String jdbcURL, String user, String user_password);
} catch (SQLException ex) { // 커넥션을 구하지 못하면 SQLException 발생
} finally {
	if (conn != null)
		try {
			conn.close();
		} catch (SQLException ex) {
		}
}
	

커넥션을 모두 사용한 뒤에는 close()메서드 이용해서 반드시 Connection 객체가 사용한 시스템 자원을 반환해야 한다.

 

 

3. Connection 객체를 생성한 후에는 Connection 객체로부터 Statement를 생성하고 쿼리를 실행할 수 있다.

Statement stmt = conn.createStatement();

 사용할 수 있는 메서드는 다음과 같다.

ResultSet excuteQuery(String query) // 쿼리를 실행하여 결과를 받아온다.
int execute Update(String query) // INSERT, UPDATE, DELETE 쿼리를 실행한다.

 

4. ResultSet에서 값을 읽어 올 때 클래스 next() 메서드를 이용해 쿼리실행 결과, 값의 존재 여부를 true, false로 반환한다.

ResultSet rs = null;
rs = stmt.executeQuery(query)
if(rs.next()){ // 반복적으로 가져올 때는 while을 사용한다.
	...}

 

=====================================================================

 

Statement와 동일한 기능을 제공하는 PreparedStatement가 있다. 

차이점은 PreparedStatement는 SQL 쿼리의 틀을 미리 생성해 놓고 값을 나중에 지정한다.

사용순서는 다음과 같다

 1. Connection.prepareStatement() 메서드를 사용하여 PreparedStatement생성

 2. PreparedStatement의 set 메서드를 사용하여 필요한 값 지정

 3. PreparedStatement의 excuteQuery() 또는 executeUpdate() 메서드를 사용하여 쿼리를 실행

 4. finally 블록에서 사용한 PreparedStatement를 닫음(close() 메서드 실행) 

 

반응형
Comments