목차
회원 도메인 개발
-구현 기능
-회원 등록
-회원 목록 조회
순서
-회원 엔티티 코드 다시 보기
-회원 리포지토리 개발
-회원 서비스 개발
-회원 기능 테스트
회원도메인개발
1. 회원엔티티 코드 다시보기
2. MemberRepository
사진
a.레포지터리 패키지 생성
b.MemberRepository 클래스 생성
c. @Repository 어노테이션 세팅
*스프링에서제공하는 Repository 어노테이션을 설정해주면,
component 스캔에의해서 스프링빈으로 자동으로 관리가된다.
*스프링빈
-자바 객체
-스프링 컨테이너(Spring Container)에 의해서 만들어진 자바 객체를스프링 빈이라고 부른다.
-스프링 빈과 자바 일반 객체와의 차이점은 없다. 굳이 다른점이라고 한다면, 컨테이너에 의해 만들어졌다.
*스프링 컨테이너가 나오게 된 배경
A a = new A( );
A a1 = new A( );
A a2 = new A( );
각각의 객체를 생성해주도록 코드를 작성하여 메모리를 3번 낭비했었는데,
메모리를 효율적으로 관리해주고자 메모리를 1번만 낭비를 하게 하기 위해 스프링 컨테이너가 탄생했다.
스프링 컨테이너에 스프링빈을 넣어 객체를 하나만 생성하여 공통 객체역할로 이 객체를 가지고 3개의 객체를 @Autowired를 활용해 생성한다.
예)
@Autowired
a a;
@Autowired
a1 a1;
@Autowired
a2 a2;
-@PersistenceContext 설정 및 private EntityManager em;
스프링이 엔티티 매니저를 만들어서 em에 인젝션 주입을 해준다.
d. 조회하는로직을 작성한다.(save, find)
save
-기본 엔티티매니저 사용은 persist 영속성 컨텍스트에 멤버엔티티객체를 넣고
후에 트랜잭션이 커밋 되는 시점에 디비에 인서트쿼리가 날라가면서 반영된다.
find메서드 사용
-단건조회
return em.find(Member.class : 첫번째 타입, id :primary key를 넣어준다.)
e. 회원전체 로직을 작성한다.(find all)
-createQuery다음에""를타입할것. 첫번째 jpql를 사용 뒤에는 반환타입
-하기코드를합친다.
( return result;에서 단축키 ctrl + alt + n < inline all < refactor )
List<Member> result = em.createQuery("select m from Member m", Member.class) .getResultList(); return result;
확인
*jpql과 sql 차이점
-기능적으로 동일하고 결국 sql로 번역한다.
-sql은 from의 대상이 테이블대상으로 쿼리를 한다.
-jpql은 from의 대상이 엔티티객체를 대상으로 쿼리를 한다. (사진에 있는 Member를 조회한다.)
f. parameter binding에 의해서 특정 회원만 찾는 코드
-setParameter를 intPosition으로설정
'신입개발자로 취업하기까지 > JPA쇼핑몰기능구축' 카테고리의 다른 글
20200529 회원도메인개발_회원기능테스트 (0) | 2020.06.30 |
---|---|
20200529 회원도메인개발_회원서비스 (0) | 2020.06.23 |
20200528 애플리케이션 아키텍처 (0) | 2020.06.22 |
20200527 주문기능검색개발 (0) | 2020.06.22 |
20200527 주문기능테스트 (0) | 2020.06.22 |