본문 바로가기
DB

[DB] JDBC(Java Database Connectivity)란?

by 당코 2023. 1. 25.

JDBC란?

JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다.

JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.

대표적으로 다음 3가지 기능을 표준 인터페이스로 정의해서 제공한다.

  • java.sql.Connection : 연결
  • java.sql.Statement : SQL을 담은 내용
  • java.sql.ResultSet : SQL 요청 응답

JDBC는 표준 인터페이스이기 떄문에 구현하여 사용하여야한다.

여러 회사들이 자신의 DB에 맞도록 구현해서 라이브러리로 제공하는데, 이것을 JDBC 드라이버라 한다.

MySQL DB에 접근할 수 있는 것은 MySQL JDBC 드라이버라 하고, Oracle DB에 접근할 수 있는 것은 Oracle JDBC 드라이버라 한다.

 

JDBC 사용 방법

DriverManager를 통해 라이브러리에 있는 DB 드라이버를 찾아서 해당 드라이버가 제공하는 커넥션을 반환한다.

Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);

 

Connection을 통해 Statement를 얻어 데이터베이스에 전달할 SQL과 파라미터로 전달할 데이터들을 준비한다.

String sql = "select * from member where member_id = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, memberId);

 

Statement에 저장된 SQL을 실행하여 ResultSet을 얻는다.

rs = pstmt.executeQuery();

if (rs.next()) {
 	Member member = new Member();
 	member.setMemberId(rs.getString("member_id"));
 	member.setMoney(rs.getInt("money"));
 	return member;
 } else {
 	throw new NoSuchElementException("member not found memberId=" + memberId);
 }

 

모든 과정이 끝나면 열려있는 객체를 모두 닫아야한다. 닫는 순서는 역순으로 진행한다.

rs.close();
stmt.close();
con.close();

 

 

출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard

'DB' 카테고리의 다른 글

[DB] 트랜잭션(Transaction)  (0) 2023.01.28
[DB] 커넥션 풀(Connection Pool)과 데이터소스(DataSource)  (0) 2023.01.27