다음엔 봐주지 않겠지?
사실 오늘 배운 내용을 정리하다가 우연히 한 블로그를 보게 되었다.
블로그 내용을 보아, 이전 내배캠 기수분이 쓰신 글 같은데
아래 내가 쓴 내용(JDBC 실습) 과는 달리 한 눈에 봐도 정리가 깔끔하게 되어 있고, 어떻게 실행해야 하는지와 무슨 내용인지까지 이해할 수 있었다.
내 글이 잘 정리했다고는 생각하지 않았지만 그래도 나름 쓸만하다고 생각했는데 저 글을 보니 다시 생각하게 된다.
어휘력또한 책을 좀 더 읽어야겠다는 생각을 했다.
또한
이전 조 팀원분들과 열심히 회의를 했는데..
정리 해 두었던 내용을 역시 하루마다 복습을 해서 내것으로 만들고
또
매일 질문할수록 새로운 궁금증이 생기는데.. 아직 멀었다고 생각한다.
간단하게 정리 해 두려고 한다.
도커 : 스프링 세팅을 다 하고 ( mysql, 라이브러리 등등) 다른 컴퓨터 가면 또 해야되잖아요
세팅을 해놓은 걸 가지고 다른 컴퓨터에서 금방 쓸 수 있게 해주는 용도
보통 jar 파일보단 도커를 올리고 / 도커 허브(=클라우드)를 만들어서 공유해서 이미지를 가져오거나 등등 이런느낌임
페이징 : limit / offset으로 하는거
프레임워크 vs 라이브러리 : 끌려가느냐 vs 사용하느냐
마이그레이션 : 원래 쓰던거에서 다른거로 옮기는것
ACCESSLEVEL.PROTECTED
이거 검색해보니 ALLARG만 나옴
NOARGU와 BUILD랑은 같이 못씀
최소 protected나 noargu만 entity 생성 할 수 있음
1주차 2강
왜 ORM의 탄생 배경을 알아야 하나?
"모든 회사에 JPA가 적용되어 있지는 않다!!"
ORM은 DB 연동 기술이론이다
DB 탄생 후 Java앱과 연동을 위해 JDBC가 탄생했다.
JDBC 실습
DriverManager : 사용할 애플리케이션에 대해 사용 가능한 JDBC(Java Database Connectivity) 드라이버 세트를 관리합니다.
JDBC의 여러 문제로 QueryMapper가 탄생했다.
- JDBC로 직접 SQL을 작성했을 때 여러 문제가 있다.
- SQL 쿼리 요청시 중복 코드 발생
- DB별 예외에 대한 구분 없이 예외처리
- Connection, Statement 등.. 자원 관리를 따로 해줘야함
-> SQL Mapper와(JDBC Template, MyBatis)
ORM(JPA, Hibernate) 등장- SQL Mapper : SQP <-> Object
- SQL문과 객체의 필드를 매핑하여 데이터를 객체화
- JDBC Template
- 쿼리 수행 결과와 객체 필드 매핑
- 반복적 처리 대신 해줌
- DAO - (JDBC Template) - JDBC Driver - Database 순으로 중간에서 대신 관리
JDBC 실습
AccountRowMapper : AccountVO에다가 어떻게 받아올 지 정해야 하니까 Mapper 를 정해줘야 한다.
-> JDBC Template을 가지고 select,insert를 해보았다.
MyBatis
반복적인 JDBC 프로그래밍을 단순화
SQL 쿼리들을 XML 파일에 작성하여 코드와 SQL을 분리(어노테이션)
QueryMapper의 DB 의존성 및 중복 쿼리 문제로 ORM이 탄생했다.
와 이번 문제 1시간 50분 걸려서 풀었다.
그래도 푼게 어디냐
처음에 중복값을 제거하지 않아서 오래걸렸다.
이 부분만 거의 50분 가까이 못 찾아서 고민한 것 같다.
알고리즘적으로는 그래도 맞았으니까 기분은 좋다!