멋쟁이v의 개발일지

[DB] JDBC 프로그램 순서 7단계 본문

0년차/DB

[DB] JDBC 프로그램 순서 7단계

멋쟁이v 2023. 4. 13. 21:28
728x90
320x100

[목차]


01. mysql 드라이버 로딩

  • 라이브러리 사용(mysql-connector-java-8.0.28.jar)
    👉🏻
    Class.forName(”com.mysql.jdbc.Driver”);

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 실행

  • 쿼리 실행 메소드
    💡
    insert / update / delete : executeUpdate() select : executeQuery()

    ➡️ pstmt에 할당된 주소를 찾아가서 executeUpdate 메소드를 호출시 내부 처리 과정에 의해 정상이면 1을 리턴한다.

05. Query 실행결과 사용

  • 실행 결과를 활용

    ➡️ insert, update, delete 쿼리 실행은 생략이 가능하다.

    ➡️ 실행 결과를 사용한다면 리턴 값을 받아 조건 처리 가능하다.

06. 객체, DB연결 종료

  • close 메소드

    1️⃣ 객체(PreparedStatement) 종료 : pstmt.close();

    2️⃣ DB연결(Connection 객체) 종료 : conn.close();


tag : #JDBC #mysql #객체 #인터페이스 #쿼리


Uploaded by N2T

728x90
320x100
Comments