[인프런 워밍업 스터디 클럽 1기 BE] 2주차 발자국
학습 내용
강의 내용
좋은 코드란?
clean code
Layered Architecture 3단 분리의 중요성
각 역할에 맡게 분리해서 진행
Controller
Service
Repository
스프링 컨테이너
스프링 빈
@Configuration
@Bean
@Controller
@Service
@Repository
@Component
@Qualifier
JPA
데이터를 영구적으로 보관하기 위해 java 진영에서 정해진 규칙
영속성
자바 진영의 ORM
Hibernate는 내부적으로 JDBC를 사용
JPA 어노테이션
@Entity
@Id
@GeneratedValue
@Column
JPA 기능
save
주어지는 객체를 저장하거나 업데이트 시켜준다.
findAll
주어지는 객체가 매핑된 테이블의 모든 데이터를 가져온다.
findById
id를 기준으로 특정한 1개의 데이터를 가져온다.
Spring Data JPA
복잡한 JPA 코드를 스프링과 함께 쉽게 사용할 수 있도록 도와주는 라이브러리
다양한 Spring Data JPA 쿼리
By 앞에 들어갈 수 있는 구절
find
1건을 가져온다. 반환 타입은 객체가 될 수도 있고, Optional<타입>이 될 수도 있다.
findAll
쿼리의 결과물이 N개인 경우 사용. List<타입> 반환.
exists
쿼리 결과가 존재하는지 확인. 반환 타입은 boolean
count
SQL의 결과 개수를 센다. 반환 타입은 long이다.
By 뒤에 들어갈 수 있는 기능
GreaterThan : 초과
GreaterThanEqual : 이상
LessThan : 미만
LessThanEqual : 이하
Between : 사이에
StartsWith : ~로 시작하는
EndsWith : ~로 끝나는
트랜잭션
쪼갤 수 없는 업무의 최소 단위
@Transactional
회고록
강의 자체가 처음 진입하는 사람들도 이해할 수 있게 쉽게 설명해주셔서 복습용으로 듣기 너무 좋은 수업이다. 뭔가 다듬어지지 않은 생각이 정리가 되는 편이였다.
미션
실습하면서 생각보다 재미있었다. 요구조건이 정해져 있다보니까 다들 비슷하게 소스 짜올줄 알았는데 생각보다 많이 달라서 놀램.
미션 5일차 클린코드 미션편은 뭔가 짜놓고 다른 스터디분들꺼 봤는데 공부가 많이 됐다.
매번 미션 제출일이 지나면 강사님이 디코에 댓글로 미션의 제출 의도를 남겨주시는데 생각보다 도움이 많이되서 좋음
댓글을 작성해보세요.