회원검색 기능
1. 화면 만들기
📋 memberList.html
<h1>JPA 회원 조회</h1>
<div class="nov">
<form action="/members/search" method="post">
회원검색 이름 : <input type="text" name="name" placeholder="회원검색 이름을 입력하세요">
<button type="submit">검색</button>
</form>
</div>
📌📋 MemberController.java
- 아래 내용 추가
getListSearchMember
에 밑줄뜨면 마우스 올려서 create
@PostMapping(value = "members/search")
public String memberSearch(Member member, Model model) {
System.out.println("members/search member.getName() ---->" + member.getName());
List<Member> memberList = memberService.getListSearchMember(member.getName());
System.out.println("members/search memberList.size() --->" + memberList.size());
model.addAttribute("members", memberList);
return "members/memberList";
}
📋 MemberController.java
- 아래 내용 추가
findByNames
에 밑줄뜨면 마우스 올려서 create
public List<Member> getListSearchMember(String searchName) {
System.out.println("MemberService getListSearchMember Start ----------------");
System.out.println("MemberService getListSearchMember searchName ===> " + searchName);
List<Member> listMember = memberRepository.findByNames(searchName);
System.out.println("MemberService getListSearchMember listMember.size() ===> " + listMember.size());
return null;
}
📋 MemberRepository.java
- findByNames이 자동으로 생긴다.
- 저장하면
JpaMemberRepository.java
오류 뜸
List<Member> findByNames(String searchName);
📋 JpaMemberRepository.java
@Override
public List<Member> findByNames(String seachName) {
String pname = seachName + '%';
System.out.println("JpaMemberRepository findByNames pname" + pname);
List<Member> memberList = em.createQuery("select m from Member m where name Like :name", Member.class)
.setParameter("name", pname)
.getResultList();
return memberList;
}
![](https://velog.velcdn.com/images/youna3332/post/fe17c426-dad9-4edd-9fc4-86bcb5cfb9c7/image.png)