동빈나 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 |