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
연동 기술과 상관없이 동일하게 익셉션 처리할 수 있도록