ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JDBC란 무엇일까?
    Java 2018. 8. 1. 00:36
    반응형






    Java를 공부하다보면 자연스레 JDBC 에 대한 내용도 공부해야하는데

    JDBC란 무엇일까??





    0. SQL에 대한 간단한 내용

      - SQL : Structured Query Language, 데이터베이스 제어 언어

        1) DML : Data Manipulation Language

           ① INSERT 정보 저장 ( Create )

           ② SELECT 정보 조회 ( Read )

           ③ UPDATE 정보 수정 ( Update )

           ④ DELETE 정보 삭제 ( Delete )

        2) DDL : Data Definition Language

           ① CREATE 테이블 생성

           ② DROP 테이블 삭제

           ③ ALTER 테이블 구조 수정

        3) DCL : Data Control Language

           ① COMMIT : 정보를 실제 db에 저장

           ② ROLLBACK : 작업을 취소





    1. JDBC란?

      - Java Database Connectivity

      - 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스입니다.





    2. JDBC의 역할

      - 통역자의 역할 : 응용프로그램과 DBMS간의 통신을 중간에서 번역해주는 역할을 합니다.





    3. java.sql Package

      1) java.sql.Driver

         - DB와 연결하는 Driver class를 만들 때 반드시 implements 해야 하는 interface로 JDBC 드라이버의 중심이 되는 Interface 입니다.


      2) java.sql.Connection

         - 특정 데이터베이스와 연결정보를 가지는 Interface 입니다.

         - DriverManager 로부터 Connection 객체를 가져옵니다.


      3) java.sql.Statement

         - SQL query문을 DB에 전송하는 방법을 정의한 Interface 입니다.

         - Connection을 통해 가져옵니다.


      4) java.sql.ResultSet

         - SELECT 구문 실행 결과를 조회할 수 있는 방법을 정의한 Interface 입니다.


      5) java.sql.PreparedStatement

         - Statement의 하위 Interface 입니다.

         - SQL문을 미리 컴파일 하여 실행 속도를 높입니다.


      6) java.sql.CallableStatement

         - PreparedStatement의 하위 Interface 입니다.

         - DBMS의 Stored procedure을 호출합니다.





    4. JDBC 개발단계

      1) JDBC Driver loading

         - 데이터베이스 벤더에 맞는 드라이버를 호출합니다.

         - 데이터베이스와의 연결을 위해 드라이버 로딩합니다.


      2) Connection

         - DB와 연결을 위해 URL과 계정정보가 필요합니다.

         - 연결 메소드로는 DriverManager.getConnection(url, id, pwd) : Connection 입니다.


      3) Statement / PreparedStatement

         - SQL 구문을 정의하고 변경 될 값은 치환문자(?)를 이용해 쿼리 전송 전에 값을 setting 합니다.


      4) executeUpdate()  or executeQuery() 

         - executeUpdate() 는 SQL Query문이 INSERT, DELETE, UPDATE의 경우에 사용합니다. 반환값의 타입은 int형입니다.

         - executeQuery() 는 SQL Query문이 SELECT의 경우에 사용합니다. 반환값의 타입은 ResultSet 입니다.


      5) ResultSet ( SELECT 의 경우 )

         - 데이터베이스 조회 결과집합에 대한 표준입니다.

         - next()를 통해 DB의 table 안의 row한 줄을 불러옵니다.

         - getString(), getInt() 를 통해 한 행의 특정 Column값을 가져 옵니다.


      6) close ( Connection, Statement, ResultSet )

         - Connection, Statement, ResultSet에 대해 close를 해줍니다.





    ▶ JDBC의 소스코드는 다음 글에서 정리하여 포스팅하겠습니다.^^





    반응형
Designed by Tistory.