본문 바로가기
CLASS/SPRINGBOOT

#8-4 / JPA 4 - 회원가입 search

by hingu 2024. 8. 27.

  👀 search  

- html

<form id="search_frm" method="get" action="./member_list">
    <div class="row" style="padding-left : 20px;">
        <select name="search_part">
            <option value="nm">이름</option>
            <option value="id">아이디</option>
            <option>연락처</option>
        </select>
        <input type="text" class="form-control" style="width:150px;" name="search_id">
        <input type="submit" value="검색" class="btn btn-dark">
    </div>
</form>

 

 

- Controller

@GetMapping("/checkout/member_list")
public String member_list(Model m, 
		@RequestParam(value="",required = false) String search_id, 
		@RequestParam(value="",required = false) String search_part) {

	List<jpa_dao> all=null;

	//DB에 있는 전체 데이터를 DAO를 이용하여 thymeleaf로 값 전달

	if(search_part==null&&search_id==null) {		//검색이 없을 경우
		all=wr.findAllByOrderByUidxDesc();			
	} else {			//검색에 대한 데이터를 DTO에 setter로 담아서 thymeleaf로 데이터 전달
		if(search_part.equals("nm")) {		//이름으로 사용자를 검색시
			all=wr.findByUnameLikeOrderByUidxDesc("%"+search_id+"%");
		} else if(search_part.equals("id")) {		//아이디로 사용자를 검색시
			all=wr.findByUidLikeOrderByUidxDesc("%"+search_id+"%");
		} else {		//연락처로 사용자를 검색시 utel like "%검색어%"
			all=wr.findByUtelLikeOrderByUidxDesc("%"+search_id+"%");
		}
	}

	m.addAttribute("search_part", search_part);
	m.addAttribute("search_id", search_id);
	m.addAttribute("all", all);
	return "/checkout/member_list.html";
}

 

 

- web_repo.java (interface)

//회원가입 및 로그인 ,회원리스트 ,회원 삭제, 회원정보수정
public interface web_repo extends JpaRepository<jpa_dao, Integer>{
	@Query("select now()")
	String mysql_times();
	
	//아이디 체크 메소드
	Optional<jpa_dao> findByUid(String uid); //findBy~ : 검색(== select)
	
	//list 출력 메소드
	List<jpa_dao> findAll(); //그냥 전체출력
	List<jpa_dao> findByOrderByUidxDesc(); //== odrder by uidx desc
	List<jpa_dao> findAllByOrderByUidxDesc(PageRequest limit); //== odrder by uidx desc
	
    
        /* search.. */
	List<jpa_dao> findByUidx(int uidx);//한 개의 정보만 출력
	List<jpa_dao> findByUnameLikeOrderByUidxDesc(String search_id);	//이름으로 검색 Like
	List<jpa_dao> findByUidLikeOrderByUidxDesc(String search_id);//아이디로 검색 Like
	List<jpa_dao> findByUtelLikeOrderByUidxDesc(String search_id);//연락처로 검색 Like

}