JDBC

오늘도 코딩중!·2023년 2월 22일
0

JDBC

목록 보기
1/1

✅JDBC란?

Java에서 DB에 연결(접근)할 수 있게 해주는 Java Programming API
Java.sql 패키지에서 제공해준다.

JDBC를 이용한 애플리케이션을 만들 때 필요한 것

1. JAVA의 JDBC 관련 인터페이스
2. DBMS(Oracle)
3. Oracle에서 Java 애플리케이션과 연결할 때 사용할 JDBC를 상속 받아 구현한 클래스 모음(ojdbc11.jar 라이브러리->(OracleDriver제공)

Connection 객체

DB 정보를 담은 객체로 DBMS 타입, 이름, IP, Port, 계정명, 비밀번호 저장 등을 담고 있다.
Stream과 유사하면 Java와 DB 사이를 연결해주는 통로역할을 한다.

Statement 객체

Connection을 통해 SQL문을 DB에 전달하여 실행하고 생성된 결과(Resultset)를 반환 사용되는 데 쓰이는 객체다.

ResultSet 객체

select 질의 성공시 반환, 조회 결과 집합을 나타내는 객체.

✅JDBC 연동 순서

JDBC 연동 순서는 아래와 같다.

  1. Connection, Statement, Resultset을 선언한다.

  1. try~catch 영역 내부에 DB연결에 필요한 Oracle JDBC Driver을 메모리에 로드한다.
  2. jdbc:oracle:thin:@ 코드는 메모리에 로드한 드라이버의 종류를 선언하는 것으로 라이브러리에서 문서화해서 제공해주고 있다.

  1. DriverManager를 통해 접속하기 위해 필요한 정보를 저장.

  1. 접속

  1. 접속한 DB의 테이블에서 수행할 SQL문을 작성 후 객체에 저장.

    ✔️ 이 때 주의할 점

    SQL문을 작성할 때, DB툴에서 사용할 때에는 세미콜론을 사용하였으나 java문을 작성할 때는 세미콜론을 사용하면 안된다.

  1. Statement 객체를 생성 후, Connection 객체을 이용해 저장공간을 만들어 할당한다.

    ✔️ Statement 객체는 마치 버스처럼 SQL문을 태울 것이다.

  1. 만들어둔 SQL문을 버스로 만들어둔 stmt의 sql을 실행하는 메소드인 executeQuery(sql문)을 사용하여 결과값을 적재하는 ResultSet객체에 집어넣고 while문을 통해 한 행씩 읽어온다.

    rs.next()를 했을때 값이 존재할 경우 값을 가져오게 되어있다. 반환값 false를 이용한 것.

  1. 예외처리 부분으로 2번에서 명시한 드라이버의 경로가 잘못된 경우 발생하는 예외 사항을 기록.

  1. 자바와 DB가 데이터 통신을 하면서 사이에 Stream 개념이 적용된다.
    Stream의 특징으로 마지막에 close를 해줘야하는데 이 때 사용되었던 Statement, ResultSet, Connection객체를 닫아줘야한다. 이때 사용된 순서의 반대방향으로 close를 해야한다.
profile
늦은만큼 코막고 달려!

0개의 댓글