도서 주문 처리 정보를 관리하는 퍼시스턴스 계층인 저장소 객체 구현하기
1. com.springmvc.repository 패키지에서 OrderRepository 인터페이스를 생성한 후 다음 내용을 작성합니다.
코드 15-8 OrderRepository.java
package com.springmvc.repository;
import com.springmvc.domain.Order;
public interface OrderRepository {
Long saveOrder(Order order);
}
2. com.springmvc.repository 패키지에서 OrderRepositoryImpl 클래스를 생성하고 다음 내용을 작성합니다. OrderRepositoryImpl 인터페이스 구현체 클래스는 OrderRepository 인터페이스에 정의한 saveOrder() 메서드를 구현합니다.
코드 15-9 OrderRepositoryImpl.java
package com.springmvc.repository;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.springmvc.domain.Order;
@Repository
public class OrderRepositoryImpl implements OrderRepository {
private Map<Long, Order> listOfOrders;
private long nextOrderId;
public OrderRepositoryImpl() {
listOfOrders = new HashMap<Long, Order>();
nextOrderId = 2000;
}
➊
public Long saveOrder(Order order) {
order.setOrderId(getNextOrderId());
listOfOrders.put(order.getOrderId(), order);
return order.getOrderId();
}
private synchronized long getNextOrderId() {
return nextOrderId++;
}
}
➊ saveOrder() 메서드는 주문 내역에 대한 ID와 주문 내역 등을 저장하고 주문 내역 ID를 반환합니다.