이 글은 2026년 04월 27일 작성된 글입니다.
오늘은 DB 연동(JDBC), CRUD 구현, 그리고 회원/게시글 데이터베이스 연결까지 정리했다.
1. DB 연결 (JDBC)
자바에서 MySQL과 연결하기 위해 JDBC를 사용했다.
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(url, user, password);
- 드라이버 로딩 → DB 연결
- URL에 DB 정보 포함
2. DBConnection 클래스
DB 작업을 공통으로 처리하는 클래스를 만들었다.
- selectRows → 여러 행 조회
- selectRow → 단건 조회
- insert → 데이터 생성
- update → 데이터 수정
- delete → 데이터 삭제
👉 SQL 실행을 한 곳에서 관리
3. 결과 처리 구조 (핵심)
List<Map<String, Object>>
👉 컬럼명을 key로 사용
4. INSERT / UPDATE / DELETE
stmt.executeUpdate(sql);
5. INSERT 후 ID 가져오기
stmt.execute(sql, Statement.RETURN_GENERATED_KEYS);
6. DB 기반 CRUD 완성
- 저장 (insert)
- 목록 (selectRows)
- 단건 조회 (selectRow)
- 수정 (update)
- 삭제 (delete)
👉 CLI → 파일 → DB로 발전
7. 회원 DB 연동
회원가입 시 DB에 저장되도록 변경
INSERT INTO member ...
8. 비밀번호 암호화
SHA2('user1', 256)
9. 게시글 + 작성자 구조
article.member_id → member.id
👉 관계형 DB 구조
10. JOIN으로 작성자 출력
SELECT *
FROM article A
JOIN member M
ON A.member_id = M.id;
11. 로그인 사용자 기반 작성
- 로그인된 회원 id 사용
- 게시글 작성 시 자동 저장
12. 전체 흐름
- DB 연결
- SQL 실행
- 결과 Map 변환
- Controller → Service → Repository 연결
✅ 정리
- JDBC를 통해 자바에서 DB와 직접 연결할 수 있다.
- Map 기반 구조로 SQL 결과를 유연하게 처리할 수 있다.
- DB를 사용하면 파일보다 확장성과 관리성이 훨씬 좋아진다.
- 회원과 게시글을 연결하면서 관계형 데이터 구조를 이해할 수 있었다.