728x90
✅ JDBC란?
JDBC는 Java 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 |