- [MySQL] 34. JDBC 구성 요소 : 아키텍처2024년 06월 11일
- Song hyun
- 작성자
- 2024.06.11.:06
728x90반응형[MySQL] 34. JDBC 구성 요소 : 아키텍처
1. DriverManage
2. Driver
3. Connection
4. Statement
5. ResultSet
6. SQLException
JDBC 아키텍처는 Java 애플리케이션과 DB 사이의 상호작용을 담당하는 여러 구성 요소로 이루어져 있다. 각 구성 요소는 특정 역할을 수행하며, 이들이 어떻게 작동하는지를 이해하는 것이 중요하다.
1. DriverManage
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
-DriverManager는 JDBC 드라이버들을 관리하는 클래스이다. 데이터베이스 연결을 설정하기 위해 사용된다.
-애플리케이션이 데이터베이스에 연결 요청을 하면, DriverManager는 적절한 JDBC 드라이버를 찾아 연결을 설정한다,.
(*마치 여행사와 같다. 여행사는 여러 항공사와 협력하여 고객에게 적합한 항공편을 찾아주는 역할을 한다.)
*JDBC 드라이버: JDBC 드라이버는 특정 데이터베이스에 연결하고, SQL 쿼리를 실행할 수 있게 하는 자바 클래스이다. 각 데이터베이스 벤더(ex:MySQL,Oracle,PostgreSQL 등)는 자사 데이터베이스와 상호작용할 수 있는 JDBC 드라이버를 제공한다.
2. Driver
// 1. MySQL JDBC 드라이버 로드 Driver myDriver = new com.mysql.cj.jdbc.Driver(); DriverManager.registerDriver(myDriver); ----------------------------------------------------- // 2. Oracle JDBC 드라이버 로드 Driver myDriver = new oracle.jdbc.OracleDriver(); DriverManager.registerDriver(myDriver);
-Driver는 JDBC 드라이버 인터페이스를 구현한 클래스이다. DB와의 연결을 실제로 처리한다.
-데이터베이스에 연결하고, SQL 쿼리를 실행하는 데 필요한 방법을 제공한다.
(*ex: 마치 운전기사와 같다. 운전기사는 여행사가 예약한 항공편을 실제로 운행한다.)
3. Connection
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
-Connection 객체는 데이터베이스와의 연결을 나타낸다.
-SQL 쿼리를 실행하고, 트랜잭션을 관리하며, 연결을 닫는 등의 작업을 수행한다.
(*ex: 데이터베이스와의 전화선과 같다. 전화선을 통해 양방향 통신이 이루어진다.)
4. Statement
Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
-Statement 객체는 SQL 쿼리를 데이터베이스에 보내기 위해 사용된다.
-Statement는 SQL 쿼리를 실행하고, 결과를 받아오는 역할을 한다.
(*ex: 데이터베이스에 보내는 편지와 같다. 편지를 보내면 답장을 받게 된다.)
5. ResultSet
-ResultSet 객체는 SQL 쿼리의 결과를 포함한다.
-데이터베이스에서 반환된 데이터를 탐색하고, 읽는 데 사용된다.
(*ex: 편지의 답장과 같다. 답장에는 요청한 정보가 포함되어 있다.
while (resultSet.next()) { System.out.println("User ID: " + resultSet.getInt("id")); System.out.println("User Name: " + resultSet.getString("name")); }
6. SQLException
try { Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password"); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM users"); } catch (SQLException e) { e.printStackTrace(); }
-SQLException은 JDBC 작업 중 발생하는 모든 예외를 처리한다.
-데이터베이스 작업 중, 오류가 발생하면, 예외를 던져 문제를 알려준다.
(*ex: 전화 연결 중 문제가 발생하면 알람이 울리는 것과 같다.)
728x90반응형'MySQL > 응용 및 DB 접근' 카테고리의 다른 글
[MySQL] 39. JDBC 설치 및 설정 (0) 2024.06.11 [MySQL] 38. 블로그 서비스의 DB 구축 (1) 2024.06.11 [MySQL] 37. 쇼핑몰 서비스의 DB 구축 (0) 2024.06.11 [MySQL] 35. 정규화(1) (0) 2024.06.11 [MySQL] 33. JDBC란 뭘까? (0) 2024.06.11 다음글이전글이전 글이 없습니다.댓글