1. 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 객체를 생성한 후 이를 반환
아래의 방법(String url, String user, String password 메소드 사용)이 가장 많이 사용하는 방법입니다!
◎ 데이터베이스 연결 닫기
▷ 데이터베이스 연결이 더 이상 필요하지 않으면 데이터베이스와 JDBC 리소스가 자동으로 닫힐 때까지
대기하는 것이 아니라 close( ) 메소드로 생성한 Connection 객체를 해제
▷ 일반적으로 데이터베이스 리소스를 사용하지 않기 위해 사용을 끝내자마자 리소스를 해제하는 것이 좋음
◎ JDBC API로 데이터베이스 접속하기
<%@ 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://localhost: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>
내부에 mysql-connector-j-8.0.32.jar을 넣고 build해야합니다.
데이터베이스 연결이 성공했다고 나타나면 연결 완료된 상태입니다!
MySQL과 JSP를 연결해서 데이터 베이스 값들을 JSP에서 불러올 수 있습니다.
뭐든 데이터베이스와 연결하는 것이 가장 중요하네요!!
데이터베이스와 연동해서 값들을 어떻게 불러오는지 다음 장에서 시작해보죠!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > JSP' 카테고리의 다른 글
[JSP 웹 프로그래밍] JDBC 데이터베이스와 JSP 연동 3 (쿼리문 실행 결과 값 가져오기) (1) | 2023.03.12 |
---|---|
[JSP 웹 프로그래밍] JDBC 데이터베이스와 JSP 연동 2 (데이터베이스 쿼리 실행) (1) | 2023.03.12 |
[JSP 웹 프로그래밍] 쿠키 2 (Cookie 정보 얻기, 삭제) (0) | 2023.03.12 |
[JSP 웹 프로그래밍] 쿠키 1 (Cookie 생성) (0) | 2023.03.12 |
[JSP 웹 프로그래밍] 세션 2 (session 삭제, 유효 시간 설정) (0) | 2023.03.12 |