[spring Boot]_10일차_JPA예제-회원검색

youuu·2022년 10월 28일
0

SPRING

목록 보기
18/33

회원검색 기능


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) {    //Member는 테이블이 아니다.
		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;
	}

profile
공부중인 주니어 개발자

0개의 댓글