JDBC
- 자바언어를 이용한 데이터베이스와의 연결
- 관계형 데이터베이스라면, 그 어떤 것이라도 연결 가능
* 구성요소
1. JDBC API
- 규격만 정의 (거의 인터페이스)
- 자바표준 패키지로 이미 포함(java.sql)
2. JDBC Driver
- JDBC API의 구현체
* JDBC driver를 이용한 데이터베이스 프로그래밍할 때,
핵심이 되는 클래스/인터페이스
(0) java.sql.DriverManager (Class) - 실제 연결 커넥션을 만들어줌
(1) java.sql.Connection (interface)
(2) java.sql.Statement (interface) ---> Dynamic SQL (--> 성능을 떨어트릴 수 있음)
(3) java.sql.PreparedStatement (interface) --> Prepared SQL
(4) java.sql.ResultSet (interface)
(5) java.sql.SQLException (class) - Checked Exception
---> 순서대로 생성해야함
* 위에서, (1) ~ (4) 까지는 자원객체(Resources) 임 => 때문에, 다 사용하고 나면, 반드시 자원해제(close) 해줘야됨!
이때 , 자원객체를 닫는 순서가 정해져 있고, 이를 반드시 지켜야 된다. (4) > (2) 또는 (3) > (1)
* JDBC API를 이용하여 Target DB에 연결하려면, 아래의 4개의 정보가 필수적으로 필요
1. jdbc URL --> JDBC를 위해 만든 URL이기 때문에, 아래와 같은 표기법이 적용
jdbc:<vendor명>:thin:@IP주소:Port번호/접속DB명 (EZCONNECT)
jdbc:<vendor명>:thin:@네트워크별칭 (TNSNAMES)
--> jdbc:oracle:thin:@네트워크별칭 ( cloud)
(tnsnames.ora 파일에 들어있는 경로를 지정해줘야함 by 환경변수 TNS_ADMIN)
jdbc:<vendor명>:thin:@네트워크별칭?TNS_ADMIN= <전자지갑파일이 들어있는 폴더 경로 지정>
** Oracle DBMS에 접속방식 2가지 (EZCONNECT, TNSNAMES)
- EZCONNECT : 1) 접속IP주소 2) 접속Port번호 3) 접속DB이름
- TNSNAMES : EZCONNECT의 3가지 정보를 가지고 있는 별도의 이름(=네트워크 별칭, TNS Alias)를 이용해서 접속하는 방식
2. Driver Class's FQCN
3. User
4. Password
DML 문장 수행 시, 인트값 반환 ( 문자열 같지만! )
'교육과정 기록 > 💻back-end' 카테고리의 다른 글
[7.14] 서블릿 핵심 클래스 (0) | 2022.07.14 |
---|---|
[7.13] 서블릿 (맵핑 & API & 파라미터 처리) (0) | 2022.07.14 |
[7.12] 서블릿 시작 (0) | 2022.07.12 |
[7.8] JDBC - 자원객체 이해 / JUnit 사용 (0) | 2022.07.08 |
[Maven] eclipse에서 Maven 프로젝트 생성 (0) | 2022.07.06 |