[목차]
01. mysql 드라이버 로딩
02. Connection 객체로 DB 연결
Connection 객체 생성
➡️ Connection interface 데이터 타입으로 conn 객체참조변수 선언
객체 생성을 위한 변수값 세팅(ip, port번호, db명, db접속id/pw)
➡️ getConnection 메소드는 static으로 선언되어서
객체 생성 없이 DriverManager.getConnection 메소드 호출 가능
매개변수에 값이 들어가면 내부 처리 과정에 의해 생성된 객체의 주소값을 conn에 할당한다. (Connectionlmpl 주소값)
💡질문1) Connection 인터페이스 구현 객체가 생성되는 시점은? ➡️ getConnection 메소드 내부 처리 과정에 의해 생성된다.💡질문2) getConnection 메서드 호출 후 리턴 값은? ➡️ Connection이 인터페이스라서 Connection 객체의 주소가 리턴되는게 아니라 Connection에 의해 구현을 명령 받은 클래스 객체의 주소 값(Connectionlmpl)
03. Query 실행을 위한 준비(객체 생성)
PreparedStatement 객체 생성 ( 또는 statement )
➡️ conn 객체참조변수에 할당된 주소(Connectionlmpl~)를 찾아가서 prepareStatement 메소드 호출 시 문자열 (INSERT 쿼리문장)을 매개변수 sql에 입력 후 메소드가 실행된다.
➡️ prepareStatement 메소드의 리턴 data type은 PreparedStatement의 interface 데이터 타입이다.
➡️ PreparedStatement를 통해 생성된 객체의 주소값을 pstmt 객체참조변수에 할당한다. (PreparedStatement 주소값)
➡️ pstmt 객체참조변수에 할당된 주소(PreparedStatement~)를 찾아가서 setString메소드 호출시 첫번째 매개변수 parameterlndex에는 ? 순서 index 번호가 입력되고, 두번째 매개변수 x에는 ?에 담길 문자열이 입력된다.
04. Query 실행
05. Query 실행결과 사용
실행 결과를 활용
➡️ insert, update, delete 쿼리 실행은 생략이 가능하다.
➡️ 실행 결과를 사용한다면 리턴 값을 받아 조건 처리 가능하다.
06. 객체, DB연결 종료
close 메소드
1️⃣ 객체(PreparedStatement) 종료 : pstmt.close();
2️⃣ DB연결(Connection 객체) 종료 : conn.close();
tag : #JDBC #mysql #객체 #인터페이스 #쿼리
Uploaded by N2T