주문 관리에 데이터를 뽑아보자.
주문관리 페이지를 꾸미기 위해 일단 데이터를 담은 테이블을 만들어보자.
STATUS_INFO , ORDER_STATUS
STATUS_INFO 테이블과 ORDER_STATUS 테이블 두개를 생성해주었다.
ORDER_STATUS
STATR WITH 1 -> 1부터 시작
INCREMENT BY 1 -> 시퀸스가 1씩 증가
MINVALUE 1 -> 최소값 1
MAXVALUE 1 -> 최대값 100
NEXTVAL -> 실행 시마다 1씩 증가된다.
CURRVAL -> 현재 값 조회
1. 구매시 주문 상태정보 테이블에 데이터 INSERT
2. 주문관리 페이지 -> 주문 목록 조회(전체)
컬럼 : NO, 구매코드, 구매자ID, 구매자연락처, 결제금액, 주문상태(문자), 구매날짜
join
join을 사용하여 각 테이블에서 필요한 데이터들을 뽑아와보았다.
OrderStatusVO, StatusInfoVO
DB에서 만든 데이터들을 VO에 똑같이 만들어주었다.
admin-mapper.xml
주문 상태 정보와 상태 정보 조회 쿼리문을 만들어주었다.
AdminService, AdminServiceImpl
AdminController 컨트롤러
order_manage.html
컨트롤러에서 model 객체로 뽑아온 데이터들을 각각 foreach문을 돌려 데이터를 착출하였다.
이렇게 데이터들이 잘 들어가있는 것을 확인해볼 수 있다.
admin-mapper.xml
association을 사용하고, VO에 변수를 넣어줌으로써 연관관계가 성립된다.
이렇게하면 굳이 service를 두개 만들지 않고, 하나의 쿼리만으로 association을 통해 끌어와서 사용할 수 있다.
order_manage.html
html에선 이렇게 데이터를 뽑아와서 사용해줄 수 있다.
buy-mapper.xml , buyServiceImpl
buyMapper에서 구매 후 구매 정보 등록을 위한 쿼리를 작성후, ServiceImpl에서 선택 구매 할 때 쿼리문을 넣어주었다.
item_detail.html
여기엔 session으로 받아온 데이터들이 들어와서 경로로 이동해야하는데, 나는 session 작업을 모두 지워주었기 때문에 발생하는 오류이다.
item_detail.html
기존에 있던 session 데이터 값들 대신해서 [[${#authentication.name}]] 을 사용해주었다.
item_detail.html
js에서 원래 ' ' 값인 memId를 anonymousUser로 바꿔주면, 로그인이 되지 않았을 땐 로그인 창을 띄울 것이다.
정상적으로 구매 페이지로 이동하며 데이터가 넘어온 것을 확인할 수 있다.
'✨ Back-end > Spring-Boot' 카테고리의 다른 글
[Spring] 쇼핑몰 - 55 스크롤 (0) | 2023.04.27 |
---|---|
[Spring] 쇼핑몰 - 54 관리자 계정 주문 관리 조회 - 2 (0) | 2023.04.26 |
[Spring] 쇼핑몰 - 52 Security 사용해 로그인하기 -2 (0) | 2023.04.25 |
[Spring] 쇼핑몰 - 51 Security 사용해 로그인하기 (1) | 2023.04.24 |
[Spring] 보드게시판 만들기(11) Security 사용해 로그인하기 (0) | 2023.04.21 |
댓글