1주차가 종료되고 다음날부터 2주차가 시작됐다.
2주차 미션은 Spring JDBC
에 관한 미션이었다.
h2 DB
를 적용해서 진행했다
나는 동아리 비기너
과정에서 jdbc를 써 본 경험이 있었다. 깊게 배운정도는 아니고 jpa
내부에서 jdbctemplate
이 돌아가니 어떤것인지 알아보는 정도로 경험해본 정도였다.
그 이후로 동아리 회고를 진행하면서는 jpa
를 계속 써서 오랜만에 써보는 것이었다.
우선 처음으로 해야할 것은 h2 DB
를 적용하는것이었다.
build.gradle
에 h2
의존성을 추가해주고 테이블을 만들어서 적용해줬다
그 후에는 1주차에 한것 처럼 데이터를 조회하는 메서드와 데이터를 추가/삭제하는 메서드를 구현해줬다.
코드에 대한 설명은 쓰지 않겠다.
미션을 진행하면서 SimpleJdbcInsert
나 RowMapper
같은 개념들을 알게 되었고 직접 적용해서 코드를 짜볼 수 있었다.
1주차에 말했듯이 우리 동아리는 이번에 새로 레귤러가 된 인원들끼리 페어
를 만들고 기존 레귤러들을 리뷰어
로 만들어 두고 코드리뷰를 한다.
이번에 진행을 하면서 가장 이슈? 였던 것은 DAO
와 Repository
의 차이였다.
어떤 사람은 DAO
로 코드를 짜고 어떤 사람은 Repository
로 코드를 짰는데 이 차이점을 다들 궁금해했다.
DB
세상의 패러다임과 객체지향
세상의 패러다임이 있다. DB
세상은 id
로 관리를 하고 객체지향
세상은 객체로 관리를 하는 차이가 있다고 한다. 여기서 DB
세상의 패러다임을 가진 것이 DAO
이고 객체지향
세상의 패러다임을 가진 것이 Repository
라고 생각하면 될 것 같다.
DAO
는 DB
쪽에 가깝고 Repository
는 객체쪽에 가까운? 아직 확실하게 설명할 수 있는 단계는 아닌 것 같다..
이번에 진행하면서 jdbc
가 어떻게 동작하는 지 알게 되었고 jpa
를 쓴다고 sql
공부를 놓으면 안될 것 같다고 생각했다. sql
공부도 꾸준히 해야겠다..