-
[Spring] JPA 심화 JDBC 끝내기기 - 기초편Spring JPA총정리 2025. 5. 1. 13:17#JDBC #Spring기초
📘 JDBC FINAL: 완전 기초 편
이 글은 JDBC의 기초부터 직접 SQL 작성과 실행까지 모두 정리한 문서다.
나중에 내가 다시 돌아와도, 이 문서 하나로 JDBC는 다시 시작되고, 다시 끝난다.📚JDBC란 무엇인가
- JDBC는 자바에서 RDBMS와 통신하기 위한 표준 API이다.
- MySQL, Oracle, PostgreSQL 등 다양한 DB와 연결할 수 있다.
🔌 JDBC 드라이버
- 자바 ↔ DB 통신을 중개
- DB마다 고유한 드라이버가 필요 (예:
com.mysql.cj.jdbc.Driver
)
🔁 JDBC 동작 흐름
[드라이버 로딩] → [DB 연결] → [Statement 생성] → [SQL 실행] → [결과 처리] → [자원 정리]
💻 순수 JDBC 코드 예시
Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, user, password); PreparedStatement ps = conn.prepareStatement("SELECT * FROM member WHERE id = ?"); ps.setLong(1, 1L); ResultSet rs = ps.executeQuery(); if (rs.next()) { System.out.println(rs.getString("name")); } rs.close(); ps.close(); conn.close();
⚠️순수 JDBC의 한계
문제 설명 반복 코드 Connection, Statement, ResultSet 처리 반복 예외 처리 SQLException 직접 처리 필요 SQL 하드코딩 SQL이 자바 코드에 고정됨 트랜잭션 처리 commit/rollback 수동 관리 객체 매핑 ResultSet → 객체 수동 변환 그래서 Spring은 JDBC를 더 편하게 쓰기 위한 도구를 만들었다 → JdbcTemplate
실전 실수 방지 팁
- SQL 예약어는 피하거나 백틱(
`
)으로 감싸기 (예:`order`
) update()
는 수정 행 수 반환 → 0이면 로그 출력Optional
로 null 안전하게 처리
📌JDBC를 배우는 이유
- JPA, MyBatis는 결국 JDBC 위에 만들어진 기술이다.
- JDBC 흐름을 이해하면 ORM 내부 동작도 이해할 수 있다.
- 테스트 코드 작성 시 직접 JDBC를 쓰는 경우가 많다.
'Spring JPA총정리' 카테고리의 다른 글
[Spring] JPQL 전 총 정리 문서 (1) 2025.05.07 [Spring] JPA 끝내기 - JPA (0) 2025.05.02 [Spring] JPA 심화 JDBC 끝내기기 - 실습편 (0) 2025.05.01 [Spring] JPA 심화 JDBC 끝내기 -SQL (0) 2025.05.01