학습 기록/스프링 복습

JDBC Template / 트랜잭션

서버관리자 페페 2024. 5. 7. 15:45

1.

기존 JDBC의 보일러플레이트 코드

템플릿 메서드 + 전략 패턴 -> JDBC template

 

2.

디펜던시 추가

spring-jdbc : spring-tx 포함

tomcat-jdbc : 커넥션 풀

mysql-connecter-java

 

*톰캣, 히카리CP도 DB 커넥션 풀 제공

 

3. ddl.sql 내부

유저 / create DB / 권한 / 테이블 만들기

 

4. 워크벤치에서 시험용 데이터 생성

 

-

 

4.

MemberDao가 JDBC template을 가진다.

JDBC template은 DataSource를 인자로 생성하는데, DS는 AppCtx에서 D/I해준다

 

5. 

AppCtx 2개 빈 추가

- 톰캣 DS 생성 후 set으로 mysql 연결정보 + 풀 정보 셋업

- memberDao에 DS 조립

 

-

 

7. MemberDao가 쿼리를 직접 사용한다.

List<Member> results = jdbcTemplate.query(SQ쿼리 + 로매퍼 + 인자)

return results(boolean 체크 후)

 

8. QueryforObject -> 결과가 1행일때

 

9. JDBC.update는 SQL에서 INSERT / UPDATE / DELETE -> 변경된 행의 갯수 리턴

 

-

 

10. PreparedStatement pstmt = con.prepareStatement();

 

11. 익셉션 변환 : 

MySQLSyntaxErrorException -> BadSQLGrammerException

연동 기술과 상관없이 동일하게 익셉션 처리할 수 있도록

 

'학습 기록 > 스프링 복습' 카테고리의 다른 글

DispatcherServelet  (0) 2024.05.20
AOP복습  (0) 2024.05.07
빈 라이프사이클  (0) 2024.05.07
스프링 DI 복습  (0) 2024.05.07