JDBC란?

lavender_je
|2025. 4. 4. 17:33
728x90

✅ JDBC란?

JDBCJava Database Connectivity의 줄임말이야.
👉 자바에서 데이터베이스와 연결해서 데이터를 읽고, 쓰기, 수정, 삭제 할 수 있도록 해주는 자바 표준 API야.

 


✅ JDBC가 하는 일 (역할)

자바 프로그램이 DB와 직접 통신할 수 있게 해줘.

Java 애플리케이션 ────▶ JDBC ────▶ 데이터베이스

 


✅ JDBC 흐름을 쉽게 그림으로 설명

 
1. DB 연결                      → DriverManager.getConnection()
2. SQL 작성                    → String sql = "SELECT * FROM post"
3. SQL 실행                    → PreparedStatement.executeQuery()
4. 결과 받아오기               → ResultSet rs = ...
5. 결과 처리                   → rs.getString(), rs.getInt() 등
6. 연결 해제                   → close()

 


✅ 코드 예제 (JDBC로 게시글 가져오기)

 
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "1234";

Connection conn = DriverManager.getConnection(url, user, password);

String sql = "SELECT * FROM post";
PreparedStatement pstmt = conn.prepareStatement(sql);

ResultSet rs = pstmt.executeQuery();

while (rs.next()) {
    int id = rs.getInt("id");
    String title = rs.getString("title");
    System.out.println("id: " + id + ", title: " + title);
}

rs.close();
pstmt.close();
conn.close();

✅ JDBC의 단점 (JPA가 등장한 이유!)

문제점 설명
너무 복잡함 커넥션, SQL, 자원 해제 등 매번 반복
코드 중복 같은 작업을 하는 코드가 계속 나옴
유지보수 어려움 테이블이 변경되면 관련 SQL을 다 찾아서 고쳐야 함
객체지향이 아님 DB는 테이블인데, Java는 객체… 계속 변환해줘야 함

 


✅ 그래서 등장한 게 JPA!

  • 객체 중심의 설계
  • SQL 대신 객체를 다루듯이 DB 처리
  • 반복되는 JDBC 코드를 자동화
  • 코드가 깔끔해지고, 생산성도 UP

 


🔄 정리하면!

항목 JDBC
정의 Java에서 DB 연결하는 표준 API
핵심 클래스 Connection, Statement, ResultSet
단점 반복, 코드 길고 유지보수 어려움
대안 JPA, Spring Data JPA (→ 더 객체 지향적이고 자동화됨)

 


 

 
 
728x90

'프로그래밍 > Spring' 카테고리의 다른 글

🌱 Spring Data JPA 완전 정복 가이드  (0) 2025.04.04
ORM이란?  (0) 2025.04.04
REST API란?  (0) 2025.04.04
http응답 상태 코드 참조 사이트  (0) 2025.04.03
@Controller와 @RestController의 차이  (0) 2025.04.02