Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

주문 검색기능 개발 본문

인프런/[인프런] Springboot와 JPA활용 1

주문 검색기능 개발

Seung__ 2021. 8. 6. 15:38

1. 검색 기능.

  • OrderSearch
    - OrderSearch에 검색 옵션을 지정가능.
    - 이름을 넣어서 검색할지, 주문 상태를 넣어서 검색할지.
@Getter @Setter
public class OrderSearch {

    private String memberName; //회원 이름으로 주문 검색
    private OrderStatus orderStatus; //주문 상태로 주문 검색
}
  • 회원 이름과 주문 상태 모두 입력되어 있으면 아래와 같이 JPQL을 작성하면 된다.
 public List<Order> findAll(OrderSearch orderSearch){

        //order를 찾고, member와 join, join문?
        return em.createQuery("select o from Order o join o.member m " +
                "where o.status = :status " +
                "and m.name like : name", Order.class)
                .setParameter("status", orderSearch.getOrderStatus())
                .setParameter("name", orderSearch.getMemberName())
                .setMaxResults(1000) //1000개 까지만 조회.
                .getResultList();
    }
  • 하지만 두 조건이 입력되지 않은 경우?
    - 그냥 다 가져와! 이렇게 변경되어야 한다.
    - 즉 쿼리가 동적으로 변해야 한다. 
    - 나중에 Querydsl로 적용 예정.
     public List<Order> findAll(OrderSearch orderSearch){
    
            //order를 찾고, member와 join, join문?
            return em.createQuery("select o from Order o join o.member m")
                    .setMaxResults(1000) //1000개 까지만 조회.
                    .getResultList();
        }​

 

 

2. GitHub : 210806 Order searching


 

GitHub - bsh6463/SpringBootJPA1

Contribute to bsh6463/SpringBootJPA1 development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] Springboot와 JPA활용 1' 카테고리의 다른 글

회원 등록  (0) 2021.08.06
[웹 계층] 홈 화면과 레이아웃  (0) 2021.08.06
주문 기능 테스트  (0) 2021.08.06
주문 repository, Service  (0) 2021.08.06
주문 도메인 개발  (0) 2021.08.06
Comments