본문 바로가기

IT 개념

JDBC 란?

동빈나 JSP 를 따라하다가 JDBC 를 오랜만에 보아서..

https://shs2810.tistory.com/18

JDBC란 무엇일까?

Java를 공부하다보면 자연스레 JDBC 에 대한 내용도 공부해야하는데 JDBC란 무엇일까?? 0. SQL에 대한 간단한 내용 - SQL : Structured Query Language, 데이터베이스 제어 언어 1) DML : Data Manipulation Lang..

shs2810.tistory.com

※ SQL 간단한 내용

DML ( Data Manipulation Language )

- INSERT 정보 저장 ( Create )

- SELECT 정보 조회 ( Read )

- UPDATE 정보 수정 ( Update )

- DELETE 정보 삭제 ( Delete )

DDL ( Data Definition Language )

- CREATE 테이블 생성

- DROP 테이블 삭제

- ALTER 테이블 구조 수정

DCL ( Data Control Language )

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

- ROLLBACK : 작업 취소

1. JDBC 정의 ( Java Database Connectivity )

1) 자바 프로그림이 DB와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스

2. JDBC 역할

1) 통역자 역할 : 응용 프로그램과 DBMS 간의 통신을 중간에서 번역해주는 역할

3. jqva.sql Package

1) java.sql Driver

(1) DB와 연결하는 Driver class를 만들 때 반드시 implements 해야하는 interface

2) java.sql.Connection

(1) 특정 DB 와 연결 정보를 가지는 Interface

(2) DriverManager 로부터 Connection 객체를 가져옴

3) java.sql.Statement

(1) SQL query 문을 DB에 전송하는 방법을 정의한 Interface

(2) Connection 을 통해 가져옴

4) java.sql.ResultSet

(1) Select 구무 실행 결과를 조회할 수 있는 방법을 정의한 Interface

5) java.sql.PreparedStatement

(1) Statement의 하위 Interface

(2) SQL 문을 미리 컴파일 하여 실행 속도를 높임

6) java.sql.CallableStatement

(1) PreparedStatement 의 하위 Interface

(2) DBMS의 Stored Procedure 를 호출

4. JDBC 개발단계

1) JDBC Driver loading

(1) DB 벤더에 맞는 드라이버 호출

(2) DB 와 연결을 위해 드라이버 로딩

2) Connection

(1) DB와 연결을 위해 URL 과 계정정보가 필요

(2) 연결 메소드로는 DriverManager.getConnection(url, id, pwd) : Connection

3) Statement / PreparedStatement

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

4) executeUpdate() or executeQuery()

(1) executeUpdate() : SQL Query 문이 INSERT, DELETE, UPDATE의 경우에 사용, 반환 값 타입은 int형

(2) executeQuery() : SQL Query 문이 SELECT 의 경우에 사용, 반환 값의 타입은 Result Set

5) ResultSet ( SELECT 의 경우)

(1) DB 조회 결과 집합에 대한 표준

(2) next() 를 통해 DB 의 table 안의 row 한 줄을 불러옴

(3) getString(), getInt() 를 통해 한 행의 특정 Column 값을 가져옴

6) close ( Connection, Statemen, ResultSet )

(1) Connection, Statement, ResultSet 에 대해 close를 해줍니다.

 

'IT 개념' 카테고리의 다른 글

MyBatis 란?  (0) 2021.08.06
미들웨어(Middleware) 란?  (0) 2021.08.06
Spring 프레임워크와 전자정부프레임워크의 차이  (0) 2021.08.06
내가 하는 디버그  (0) 2021.08.06
Inner Join 과 Outer Join 의 차이  (0) 2021.08.03