JDBC

박종원·2024년 10월 13일

JDBC란?

  • JDBC(Java Database Connectivity)는 자바 애플리케이션과 다양한 데이터베이스 간의 연결을 가능하게 하는 표준 자바 API이다.
  • JDBC의 주요 목표는 자바 애플리케이션이 여러 데이터베이스와 상호 작용할 수 있는 통일된 인터페이스를 제공하는 것이다.
  • 이를 통해 애플리케이션 코드를 수정하지 않고도 다양한 데이터베이스에 접근할 수 있다.

JDBC의 주요 개념 및 구성 요소

  1. JDBC 드라이버:
    • JDBC 드라이버는 데이터베이스와의 연결을 설정하는데 필수적인 요소이다.
      이는 자바 Aplication과 데이터 베이스간의 연결 역할을한다.
    • 드라이버를 사용하는 이유는 여러 DBMS과의 연결을 가능하게 하여, 코드의 변환 없이 드라이버만 변경해서 사용이 가능하다.

원하는 Driver를 Class load 하기

// 원하는 DBMS을 연결해주는 driver를 Class에 직접 로드할 수 있다. 

private final String driverName = "com.mysql.cj.jdbc.Driver";

Class.forName(driverName);

JDBC와 DBMS 연결 순서

1. Class를 로드했다면 원하는 DB에 Connection을 해야한다.

String url = "jdbc:mysql://localhost:3306/Practice1?serverTimezone=UTC";

DriverManager.getConnection(url, username, password)
  • DriverManager를 클래스 로드 했으니 DriverManager를 통해서 원하는 DB에 연결할 수 있게된다.
  • 보통 MYSQL은 3306 port를 사용하며 포트 뒤에 /Database명?serverTimezone=UTC 를 작성해주면 된다.

2. 명령 실행: Statement 객체 생성

statement, PreparedStatement 둘중 하나의 객체를 만들어
원하는 쿼리를 실행시킨다.

Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");

3. 결과 처리 : ResultSet 객체를 사용

while (resultSet.next()) {
    int id = resultSet.getInt("id");
    String name = resultSet.getString("name");
    // 결과 처리 로직
}

4. 자원 해제

보통 만든 순의 역순으로 close()를 해준다.

resultSet.close();
statement.close();
connection.close();

0개의 댓글