👀 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
}
'CLASS > SPRINGBOOT' 카테고리의 다른 글
#9-2 / Thymeleaf 부가사용 방법 (with , T, formatInteger.. ) (0) | 2024.08.27 |
---|---|
#9-1 / JPA 5 - 회원가입 list paging (0) | 2024.08.27 |
#8-2 / JPA 4 - 회원가입 modify , update (0) | 2024.08.23 |
#8-1 / JPA 3 - 회원가입 list , delete ( onclick() + thymeleaf ) (0) | 2024.08.23 |
#7-2 / JPA 2 - 회원가입 중복체크 , insert (0) | 2024.08.22 |