본문 바로가기

프로그래밍 일반/웹 프로그래밍

[JDBC] 동작원리

JDBC동작원리

https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/
JAVA에서는 기본적으로 DB와 연결하는 API를 구현하고 있다.
그러나 DB의 종류가 MYSQL과 같이 특별한 DBMS라면 새로운 Driver가 필요하다


DRIVER의 역할이란?
https://www.javatpoint.com/java-jdbc
Driver는 H/W를 제어하는 S/W의 뜻이다
JDBC의 API를 이용해서 MySQL을 제어하는 S/W를 만든 것이다.

이미 JAVA API로 DB를 사용할 수 있지만, MYSQL과 연동은 되지 않기 때문에,
DRIVER로 연동시켜주는 것이다. 사용자 입장에서는 MYSQL을 연결해주면 자연스럽게 MYSQL을 이용하게 된다.



https://victorydntmd.tistory.com/145
DB를 이용하기 위해서는 Driver을 먼저 로딩한다. Driver은 MYSQL을 쓰겠다고 선언하는 것이다.

Class.forName("com.mysql.jdbc.Driver");
이 선언 자체가 mysql드라이버를 연동시키겠다는 것이다.
여기서 JSP는 자연스럽게 jar파일을 찾으므로, jar을 연동시켜 놓아야 한다.

jar파일에 driver클래스가 있다.

DriverManager 클래스는 JDBC 드라이버를 제어하기 위한 클래스이다.
JDBC드라이버는 MySQL을 제어하기 위한 것이므로,
마치 MySQL에 로그인 하듯 ID, PW, DB이름 이 필요하다.

conn = DriverManager.getConnection(url, "dev", "dev");
를 하게 되면, connection객체에 특정한 정보값이 이미 들어가 있다.
실제로 이미 연결이 됨, 연결 정보가 들어가 있다.
연결이 된 상태에서 문장을 실행한다.
하나 할 때마다 query하나 할 때마다 특정한 문장, 코드를 실행한다.


connection객체
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
| DriverManager의 정보  |
| |
| |
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


Statement객체(필요한 정보만 in)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
| createStatement의 정보  |
| |
| |
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

'프로그래밍 일반 > 웹 프로그래밍' 카테고리의 다른 글

[PHP] 게시판 만들기  (0) 2020.01.12
[WEB] JDBC MYSQL 연동하기  (0) 2019.12.09