Article/개인 프로젝트

[Spring JdbcTemplate] Spring JdbcTemplate 연습기

조금씩 차근차근 2025. 4. 25. 21:03

Spring Data JDBC 를 사용해보기 전에, 기본적인 JDBC 문법이 기억이 잘 나지 않아, 가볍게 토이프로젝트로 몇가지 구현을 해보며 JDBC 문법에 적응해보려고 한다.

해당 게시글은 주기적으로 수정될 예정이며, 해당 프로젝트의 방향을 관리하기 위해 작성되었다.
목표는 다음과 같다.

Spring Data JDBC 를 사용해보기 전에, 기본적인 JDBC 문법을 복습하기 위한 토이 프로젝트이다.

1. 단일 테이블 상품 재고 관리 - 구현 완료

2. 게시글-댓글 게시판 - 현재 구현 중

  • README.md
  • 조인
  • 페이징
  • 기본적인 트랜잭션 처리
  • 애그리거트 루트에서 모든 연관 엔티티를 한꺼번에 가져오기 위한 방식 구현
    • Coarse-Grained Locking 방식의 이점 분석

3. CSV 파일 일괄 업로드 & 데이터 정제

  • batchUpdate로 수천~수만 건 INSERT/UPDATE
  • 실패 레코드 롤백·재시도 전략(예외 처리 흐름 설계)
  • ResultSetMetaData 또는 DatabaseMetaData를 이용한 동적 컬럼 매핑
  • 대용량 CSV 스트리밍 처리

4. 도서 관리 시스템

  • SimpleJdbcInsert + batchUpdate 혼용
  • 효율적인 트랜잭션 처리 전략 짜보기(미정)

5. 은행 계좌이체 시뮬레이터 - 별도 프로젝트로 관리할 예정

  • 트랜잭션 전파 옵션(REQUIRED, REQUIRES_NEW 등)
  • JdbcTemplate.update()를 이용한 원자적 잔액 조정
  • 트랜잭션 쪼개기/합치기 별 동시성 처리량 비교
  • 캐싱+배치처리 / DB 직접 처리 별 동시성 처리량 비교

Github Repository: Spring-JdbcTemplate-try-it-out

 

GitHub - GoGradually/Spring-JdbcTemplate-try-it-out: Spring JdbcTemplate + DDD에 익숙해지기 위한 4가지 프로젝트

Spring JdbcTemplate + DDD에 익숙해지기 위한 4가지 프로젝트. Contribute to GoGradually/Spring-JdbcTemplate-try-it-out development by creating an account on GitHub.

github.com