JSP
JSP 웹 프로그래밍 - JDBC로 데이터베이스와 JSP 연동 01 (JDBC의 개요, JDBC 드라이버 로딩 및 DBMS 접속)
로기221
2023. 3. 8. 14:46
728x90
반응형
1. JDBC의 개요
JDBC(Java DataBase Connectivity)
- 자바/JSP 프로그램 내에서 데이터베이스와 관련된 작업을 처리할 수 있도록 도와주는 자바 표준 인터페이스
- 관계형 데이터베이스 시스템에 접근하여 SQL 문을 실행하기 위한 자바 API 또는 자바 라이브러리
- JDBC API를 사용하면 DBMS의 종류에 상관없이 데이터베이스 작업을 처리할 수 있음
JDBC를 사용한 JSP와 데이터베이스의 연동
❶ java.sql.* 패키지 임포트
❷ JDBC 드라이버 로딩
❸ 데이터베이스 접속을 위한 Connection 객체 생성
❹ 쿼리문을 실행하기 위한 Statement/PreparedStatement/CallableStatement 객체 생성
❺ 쿼리 실행
❻ 쿼리 실행의 결과 값(int, ResultSet) 사용
❼ 사용된 객체(ResultSet, Statement/PreparedStatement/CallableStatement, Connection) 종료
2. JDBC 드라이버 로딩 및 DBMS 접속
JDBC 드라이버 로딩하기
JDBC 드라이버 로딩 단계에서는 드라이버 인터페이스를 구현하는 작업
- Class.forName( ) 메소드를 이용하여 JDBC 드라이버를 로딩
- JDBC 드라이버가 로딩되면 자동으로 객체가 생성되고 DriverManager 클래스에 등록
- JDBC 드라이버 로딩은 프로그램 수행 시 한 번만 필요
Connection 객체 생성하기
- JDBC 드라이버에서 데이터베이스와 연결된 커넥션을 가져오기 위해 DriverManager 클래스의 getConnection( ) 메소드를 사용
- DriverManager 클래스로 Connection 객체를 생성할 때 JDBC 드라이버를 검색하고, 검색된 드라이버를 이용하여 Connection 객체를 생성한 후 이를 반환
데이터베이스 연결 닫기
- 데이터베이스 연결이 더 이상 필요하지 않으면 데이터베이스와 JDBC 리소스가 자동으로 닫힐 때까지 대기하는 것이 아니라 close( ) 메소드로 생성한 Connection 객체를 해제
- 일반적으로 데이터베이스 리소스를 사용하지 않기 위해 사용을 끝내자마자 리소스를 해제하는 것이 좋음
JDBC API로 데이터베이스 접속하기
// connection.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Database SQL</title>
</head>
<body>
<%
Connection conn = null;
try {
String url = "jdbc:mysql://192.168.111.40:3306/JSPBookDB";
String user = "root";
String password = "1234";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
out.println("데이터베이스 연결이 성공했습니다.");
} catch (SQLException ex) {
out.println("데이터베이스 연결이 실패했습니다.<br>");
out.println("SQLException: " + ex.getMessage());
} finally {
if (conn != null)
conn.close();
}
%>
</body>
</html>
- 출력 -
728x90
반응형