1. 전체회원 조회
1) Controller
@GetMapping(value = "/members")
public String listMember(Model model) {
List<Member> memberList = memberService.getListAllMember();
logger.info("memberList.size() -> {}" , memberList.size());
model.addAttribute("members", memberList);
return "members/memberList";
}
2) Service
public List<Member> getListAllMember() {
List<Member> listMember = memberRepository.findAll();
System.out.println("MemberService getListAllMember listMember.size()->"+listMember.size());
return listMember;
}
3) memberRepository.findAll()
m= Member.class , 반환값
- em.createQuery( "select m from Member m" , Member.class).
- getResultList 컬렉션 형태로 반환
@Override
public List<Member> findAll() {
List<Member> memberList = em.createQuery("select m from Member m", Member.class).getResultList();
return memberList;
}
- 트랜잭션 후
* Hibernate: select member0_.id as id1_0_, member0_.name as name2_0_ from member member0_
2. 회원 검색
1) Controller
@PostMapping(value = "/members/search")
public String search(Member member, Model model) {
List<Member> memberList = memberService.getListSearchMember(member.getName());
model.addAttribute("members", memberList);
return "members/memberList";
}
2) memberService.getListSearchMember(member.getName());
public List<Member> getListSearchMember(String searchName) {
List<Member> listMember = memberRepository.findByName(searchName);
System.out.println("MemberService getListSeachMember listMember.size()->" + listMember.size());
return listMember;
}
3) memberRepository.findByName(searchName);
- em.createQuery("select m from Member m where name Like :pname", Member.class)
:pname -> ? 표로 생각
.setParameter("pname", pname) 파라메터의 값 지정해주기
.getResultList();
@Override
public List<Member> findByName(String searchName) {
String pname = searchName + '%';
System.out.println("JpaMemberRepository findByName pname ->" + pname);
List<Member> memberList = em.createQuery("select m from Member m where name Like :pname", Member.class)
.setParameter("pname", pname)
.getResultList();
System.out.println("JpaMemberRepository findByName memberList.size() ->" + memberList.size());
return memberList;
}
'IT > SpringDay' 카테고리의 다른 글
05.JPA02① (0) | 2022.05.19 |
---|---|
Lombok설치 (0) | 2022.05.19 |
05.JPA②-Member 신규 생성 (0) | 2022.05.19 |
05.JPA①-프로젝트 생성 및 기본 세팅 (0) | 2022.05.19 |
05.JPA 개념 (0) | 2022.05.19 |