이전 예제는 이름이 정확히 일치하는 경우이고 이번 예제는 이름을 포함하는 내역을 검색해서 보여주는 예제임
1. interface MemberRepository에 내용 추가
public interface MemberRepository {
Member save(Member member) throws ClassNotFoundException;
Optional<Member> findById(Long id) throws ClassNotFoundException;
Optional<Member> findByName(String name) throws ClassNotFoundException;
List<Member> findByNameContaining(String name);
List<Member> findAll() throws ClassNotFoundException;
}
2. JpaMemberRepository에 해당 검색 조건 추가
@Override
public List<Member> findByNameContaining(String name) {
List<Member> result = em.createQuery("select m from Member m where m.name = :name", Member.class)
.setParameter("name", name)
.getResultList();
return result;
}
3. service 항목(MemberService)에 repository 항목 추가
public List<Member> findByNameContaining(String name) throws ClassNotFoundException {
return memberRepository.findByNameContaining(name);
}
4. MemberController에 내용추가/변경
@PostMapping("/members/oneMember")
public String list(Model model,MemberForm form) throws ClassNotFoundException {
List<Member> memberName = memberService.findByNameContaining(form.getMemberName());
if (memberName != null) {
model.addAttribute("members", memberName);
}else {
return "members/findOne";
}
return "members/oneMember";
}
5. HTML 파일은 기존 것 재활용
'Spring > spring_old' 카테고리의 다른 글
03. Project 시작 구성-interface 등 구성 (0) | 2023.01.19 |
---|---|
01. Spring Project 개요 (0) | 2023.01.18 |
09./ Spring Web MVC-Aop (0) | 2023.01.15 |
02./ Spring folder 구조 (0) | 2023.01.14 |
07./ Spring Web MVC-DB연계-Spring DATA JPA (0) | 2023.01.14 |