▼ 코드 예시 (더보기 클릭) ▼
더보기
class OrderController
package com.greedy.section01.controller;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
import com.greedy.section01.model.dto.CategoryDTO;
import com.greedy.section01.model.dto.MenuDTO;
import com.greedy.section01.model.dto.OrderDTO;
import com.greedy.section01.model.dto.OrderMenuDTO;
import com.greedy.section01.model.service.OrderService;
import com.greedy.section01.view.ResultView;
public class OrderController {
private OrderService orderService = new OrderService();
public List<CategoryDTO> selectAllCategory() {
List<CategoryDTO> categoryList = orderService.selectAllCategory();
return categoryList;
}
public List<MenuDTO> selectMenuByCategory(int categoryCode) {
return orderService.selectMenuByCategory(categoryCode);
}
public void registOrder(Map<String, Object> requestMap) {
/* Controller가 하는 역할은 뷰에서 사용자가 입력한 정보를 파라미터 형태로 전달 받으면
* 전달 받은 값들을 검증하거나 추가적인 정보가 필요한 경우 가공을 한 뒤
* 서비스 쪽으로 전달하기 위한 인스턴스에 담고 서비스의 비즈니스 로직을 담당하는 메소드를 호출한다.
* 또한 호출한 수행 결과를 반환 받아 어떠한 뷰를 다시 사용자에게 보여줄 것인지를 결정하는 역할을 한다.
* */
/* 1. 뷰에서 전달 받은 파라미터 꺼내서 변수에 담기 */
int totalOrderPrice = (Integer)requestMap.get("totalOrderPrice");
List<OrderMenuDTO> orderMenuList = (List<OrderMenuDTO>)requestMap.get("orderMenuList");
/* 2. 추가적으로 필요한 값이 있는 경우 생성하기 */
java.util.Date orderTime = new java.util.Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yy/MM/dd");
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
String date = dateFormat.format(orderTime);
String time = timeFormat.format(orderTime);
/* 3. 서비스쪽으로 전달하기 위해 DTO 인스턴스에 담기 */
OrderDTO order = new OrderDTO();
order.setDate(date);
order.setTime(time);
order.setTotalOrderPrice(totalOrderPrice);
order.setOrderMenuList(orderMenuList);
/* 4. 서비스(비즈니스 로직)를 호출하고 결과를 리턴 받음 */
int result = orderService.registOrder(order);
/* 5. 서비스 처리 결과를 이용해 성공 실패 여부를 판단하여 사용자에게 보여줄 뷰를 결정함 */
ResultView resultView = new ResultView();
if(result > 0) {
resultView.success();
} else {
resultView.failed();
}
}
}
class OrderDAO
package com.greedy.section01.model.dao;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import static com.greedy.common.JDBCTemplate.close;
import com.greedy.section01.model.dto.CategoryDTO;
import com.greedy.section01.model.dto.MenuDTO;
import com.greedy.section01.model.dto.OrderDTO;
import com.greedy.section01.model.dto.OrderMenuDTO;
public class OrderDAO {
private Properties prop = new Properties();
public OrderDAO() {
try {
prop.loadFromXML(new FileInputStream("mapper/order-query.xml"));
} catch (IOException e) {
e.printStackTrace();
}
}
/* 모든 카테고리 조회용 메소드 */
public List<CategoryDTO> selectAllCategory(Connection con) {
PreparedStatement pstmt = null;
ResultSet rset = null;
List<CategoryDTO> categoryList = null;
String query = prop.getProperty("selectAllCategory");
try {
pstmt = con.prepareStatement(query);
rset = pstmt.executeQuery();
categoryList = new ArrayList<>();
while(rset.next()) {
CategoryDTO category = new CategoryDTO();
category.setCode(rset.getInt("CATEGORY_CODE"));
category.setName(rset.getString("CATEGORY_NAME"));
categoryList.add(category);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(rset);
close(pstmt);
}
return categoryList;
}
/* 카테고리별 메뉴 조회용 메소드 */
public List<MenuDTO> selectMenuByCategory(Connection con, int categoryCode){
PreparedStatement pstmt = null;
ResultSet rset = null;
List<MenuDTO> menuList = null;
String query = prop.getProperty("selectMenuByCategory");
try {
pstmt = con.prepareStatement(query);
pstmt.setInt(1, categoryCode);
rset = pstmt.executeQuery();
menuList = new ArrayList<>();
while(rset.next()) {
MenuDTO menu = new MenuDTO();
menu.setCode(rset.getInt("MENU_CODE"));
menu.setName(rset.getString("MENU_NAME"));
menu.setPrice(rset.getInt("MENU_PRICE"));
menu.setCategoryCode(rset.getInt("CATEGORY_CODE"));
menu.setOrderableStatus(rset.getString("ORDERABLE_STATUS"));
menuList.add(menu);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(rset);
close(pstmt);
}
return menuList;
}
/* 주문 정보 입력용 메소드 */
public int insertOrder(Connection con, OrderDTO order) {
PreparedStatement pstmt = null;
int result = 0;
String query = prop.getProperty("insertOrder");
try {
pstmt = con.prepareStatement(query);
pstmt.setString(1, order.getDate());
pstmt.setString(2, order.getTime());
pstmt.setInt(3, order.getTotalOrderPrice());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(pstmt);
}
return result;
}
/* 주문 메뉴별 입력용 메소드 */
public int insertOrderMenu(Connection con, OrderMenuDTO orderMenu) {
PreparedStatement pstmt = null;
int result = 0;
String query = prop.getProperty("insertOrderMenu");
try {
pstmt = con.prepareStatement(query);
pstmt.setInt(1, orderMenu.getMenuCode());
pstmt.setInt(2, orderMenu.getOrderAmount());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(pstmt);
}
return result;
}
}
CategoryDTO
package com.greedy.section01.model.dto;
public class CategoryDTO {
private int code;
private String name;
private Integer refCategoryCode;
public CategoryDTO() {}
public CategoryDTO(int code, String name, Integer refCategoryCode) {
super();
this.code = code;
this.name = name;
this.refCategoryCode = refCategoryCode;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getRefCategoryCode() {
return refCategoryCode;
}
public void setRefCategoryCode(Integer refCategoryCode) {
this.refCategoryCode = refCategoryCode;
}
@Override
public String toString() {
return "CategoryDTO [code=" + code + ", name=" + name + ", refCategoryCode=" + refCategoryCode + "]";
}
}
class MenuDTO
package com.greedy.section01.model.dto;
/* DTO(Data Transfer Object) */
public class MenuDTO {
private int code;
private String name;
private int price;
private int categoryCode;
private String orderableStatus;
public MenuDTO() {}
public MenuDTO(int code, String name, int price, int categoryCode, String orderableStatus) {
super();
this.code = code;
this.name = name;
this.price = price;
this.categoryCode = categoryCode;
this.orderableStatus = orderableStatus;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getCategoryCode() {
return categoryCode;
}
public void setCategoryCode(int categoryCode) {
this.categoryCode = categoryCode;
}
public String getOrderableStatus() {
return orderableStatus;
}
public void setOrderableStatus(String orderableStatus) {
this.orderableStatus = orderableStatus;
}
@Override
public String toString() {
return "MenuDTO [code=" + code + ", name=" + name + ", price=" + price + ", categoryCode=" + categoryCode
+ ", orderableStatus=" + orderableStatus + "]";
}
}
class OrderDTO
package com.greedy.section01.model.dto;
import java.util.List;
public class OrderDTO {
private int code;
private String date;
private String time;
private int totalOrderPrice;
private List<OrderMenuDTO> orderMenuList;
public OrderDTO() {}
public OrderDTO(int code, String date, String time, int totalOrderPrice, List<OrderMenuDTO> orderMenuList) {
super();
this.code = code;
this.date = date;
this.time = time;
this.totalOrderPrice = totalOrderPrice;
this.orderMenuList = orderMenuList;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public int getTotalOrderPrice() {
return totalOrderPrice;
}
public void setTotalOrderPrice(int totalOrderPrice) {
this.totalOrderPrice = totalOrderPrice;
}
public List<OrderMenuDTO> getOrderMenuList() {
return orderMenuList;
}
public void setOrderMenuList(List<OrderMenuDTO> orderMenuList) {
this.orderMenuList = orderMenuList;
}
@Override
public String toString() {
return "OrderDTO [code=" + code + ", date=" + date + ", time=" + time + ", totalOrderPrice=" + totalOrderPrice
+ ", orderMenuList=" + orderMenuList + "]";
}
}
OrderMenuDTO
public class OrderMenuDTO {
private int code;
private int menuCode;
private int orderAmount;
public OrderMenuDTO() {}
public OrderMenuDTO(int code, int menuCode, int orderAmount) {
super();
this.code = code;
this.menuCode = menuCode;
this.orderAmount = orderAmount;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public int getMenuCode() {
return menuCode;
}
public void setMenuCode(int menuCode) {
this.menuCode = menuCode;
}
public int getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(int orderAmount) {
this.orderAmount = orderAmount;
}
@Override
public String toString() {
return "OrderMenuDTO [code=" + code + ", menuCode=" + menuCode + ", orderAmount=" + orderAmount + "]";
}
}
class OrderService
package com.greedy.section01.model.service;
import java.sql.Connection;
import java.util.List;
import com.greedy.section01.model.dao.OrderDAO;
import com.greedy.section01.model.dto.CategoryDTO;
import com.greedy.section01.model.dto.MenuDTO;
import com.greedy.section01.model.dto.OrderDTO;
import com.greedy.section01.model.dto.OrderMenuDTO;
import static com.greedy.common.JDBCTemplate.*;
public class OrderService {
private OrderDAO orderDAO = new OrderDAO();
/* 카테고리 전체 조회용 메소드 */
public List<CategoryDTO> selectAllCategory() {
/* 1. Connection 생성 */
Connection con = getConnection();
/* 2. DAO의 모든 카테고리 조회용 메소드를 호출하여 결과 리턴 받기 */
List<CategoryDTO> categoryList = orderDAO.selectAllCategory(con);
/* 3. 커넥션 닫기 (select는 commit, rollback X) */
close(con);
/* 4. 반환 받은 값 리턴하기 */
return categoryList;
}
/* 카테고리별 메뉴 조회용 메소드 */
public List<MenuDTO> selectMenuByCategory(int categoryCode) {
/* 1. Connection 생성 */
Connection con = getConnection();
/* 2. DAO의 해당 카테고리 메뉴를 조회하는 메소드로 categoryCode 전달하며 조회 */
List<MenuDTO> menuList = orderDAO.selectMenuByCategory(con, categoryCode);
/* 3. Connection 닫기 */
close(con);
/* 4. 반환받은 값 리턴하기 */
return menuList;
}
/* 주문 정보 등록용 메소드 */
public int registOrder(OrderDTO order) {
/* 1. Connection 생성 */
Connection con = getConnection();
/* 2. 리턴할 값 초기화 */
int result = 0;
/* 3. DAO 메소드로 전달 받은 값 넘겨서 insert */
/* 3-1. Order table insert */
int orderResult = orderDAO.insertOrder(con, order);
/* 3-2. Order Menu table insert */
List<OrderMenuDTO> orderMenuList = order.getOrderMenuList();
int orderMenuResult = 0;
for(OrderMenuDTO orderMenu : orderMenuList) {
orderMenuResult += orderDAO.insertOrderMenu(con, orderMenu);
}
/* 4. 성공 여부 판단 후 트랜잭션 처리 */
if(orderResult > 0 && orderMenuResult == orderMenuList.size()) {
commit(con);
result = 1;
} else {
rollback(con);
}
/* 5. Connection 닫기 */
close(con);
/* 6. 결과 값 반환 */
return result;
}
}
class Application
package com.greedy.section01.run;
import com.greedy.section01.view.OrderMenu;
public class Application {
public static void main(String[] args) {
new OrderMenu().displayMenu();
}
}
class OrderMenu
package com.greedy.section01.view;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import com.greedy.section01.controller.OrderController;
import com.greedy.section01.model.dto.CategoryDTO;
import com.greedy.section01.model.dto.MenuDTO;
import com.greedy.section01.model.dto.OrderMenuDTO;
public class OrderMenu {
private OrderController orderController = new OrderController();
public void displayMenu() {
/* 반복
* ------------------------
* 1. 카테고리 조회
* 2. 해당 카테고리의 메뉴 조회
* 3. 사용자에게 어떤 메뉴를 주문 받을 것인지 입력
* 4. 주문할 수량 입력
* ------------------------
* 5. 주문
* */
Scanner sc = new Scanner(System.in);
List<OrderMenuDTO> orderMenuList = new ArrayList<>();
int totalOrderPrice = 0;
do {
System.out.println("=============== 음식 주문 프로그램 ==================");
List<CategoryDTO> categoryList = orderController.selectAllCategory();
for(CategoryDTO category : categoryList) {
System.out.println(category.getName());
}
System.out.println("=================================================");
System.out.print("주문하실 카테고리를 선택해주세요 : ");
String inputCategory = sc.nextLine();
int categoryCode = 0;
for(CategoryDTO category : categoryList) {
if(category.getName().equals(inputCategory)) {
categoryCode = category.getCode();
}
}
System.out.println("================ 주문 가능 메뉴 ====================");
List<MenuDTO> menuList = orderController.selectMenuByCategory(categoryCode);
for(MenuDTO menu : menuList) {
System.out.println(menu);
}
System.out.print("주문하실 메뉴를 선택해주세요 : ");
String inputMenu = sc.nextLine();
int menuCode = 0;
int menuPrice = 0;
for(int i = 0; i < menuList.size(); i++) {
MenuDTO menu = menuList.get(i);
if(menu.getName().equals(inputMenu)) {
menuCode = menu.getCode();
menuPrice = menu.getPrice();
}
}
System.out.print("주문하실 수량을 입력하세요 : ");
int orderAmount = sc.nextInt();
OrderMenuDTO orderMenu = new OrderMenuDTO();
orderMenu.setMenuCode(menuCode);
orderMenu.setOrderAmount(orderAmount);
orderMenuList.add(orderMenu);
totalOrderPrice += (menuPrice * orderAmount);
System.out.print("계속 주문하시겠습니까?(예/아니오) : ");
sc.nextLine();
boolean isContinue = sc.nextLine().equals("예") ? true : false;
if(!isContinue) break;
} while(true);
for(OrderMenuDTO orderMenu : orderMenuList) {
System.out.println(orderMenu);
}
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("totalOrderPrice", totalOrderPrice);
requestMap.put("orderMenuList", orderMenuList);
orderController.registOrder(requestMap);
}
}
class ResultView
package com.greedy.section01.view;
public class ResultView {
public void success() {
System.out.println("주문에 성공하셨습니다.");
}
public void failed() {
System.out.println("주문에 실패하셨습니다.");
}
}


▼ 코드 예시 (더보기 클릭) ▼
더보기
class Calculator
package com.greedy.section01.tests;
public class Calculator {
public int sumTwoNumber(int first, int second) {
return first + second;
}
}
class Application
package com.greedy.section01.tests;
public class Application {
public static void main(String[] args) {
/* 테스트 시나리오 */
/* 어플리케이션의 테스트되어야 할 기능이나 특징을 한 문장으로 기술한 것 */
/* 1. Calculator 인스턴스 생성이 잘 되는 지 테스트 */
Calculator calc = new Calculator();
if(calc != null) {
System.out.println("성공");
} else {
System.out.println("실패");
} // 당연한 논리라서 else 부분이 데드코드로 뜸
/* 2. sumTwoNumber 메소드가 정상 기능하는지 테스트 */
/* 2-1. 4와 5를 전달하면 합계 9가 계산되는지 확인 */
int result1 = calc.sumTwoNumber(4, 5);
if (result1 == 9) {
System.out.println("4와 5를 전달하여 합계가 9인지 확인");
} else {
System.out.println("4와 5를 전달하여 합계가 9가 아님");
}
/* 2-2. 6과 7을 전달하면 합계가 13이 되는지 확인 */
int result2 = calc.sumTwoNumber(6, 7);
if(result1 ==13) {
System.out.println("6과 7을 전달하여 합계가 13인지 확인");
} else {
System.out.println("6과 7을 전달하여 합계가 13이 아님");
}
/* 3. 위 테스트 결과가 모두 통과되면 해당클래스의 메소드는 신뢰성 있는 메소드임을 확인 */
if (result1 == 9 && result2 == 13) {
System.out.println("테스트 성공!");
} else {
System.out.println("테스트 실패!");
}
}
}
class Calculator
public class Calculator {
public int sumTwoNumber(int first, int second) {
return first + second;
}
}
class CalculatorTests
import static org.junit.Assert.assertEquals;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
/* 단위 테스트 (Unit Test)
* 한가지 기능 (함수) 마다 일을 잘 수행하는지 확인하며 특정 모듈이 의도된대로
* 정확히 작동하는지 검증하는 절차
* 연관 컴포넌트가 개발되지 않더라도 (다른 기능을 맡는 누군가가 완성되지 않더라도)
* 기능별 개발(하나의 함수, 하나의 메소드)이 완료된 것을 증명할 수 있음.
*
* */
/* 어노테이션 추가
* Project의 Properties -> java build path -> libraries 추가 (module 쪽에 추가)
* -> add library -> junit */
/* @Before
* : @Test가 작성 된 메소드 호출 이전에
* 반복되는 준비작업을 위한 메소드에 작성
* 테스트 메소드를 실행하기 전에 먼저 자동으로 실행
*
* @After
* : @Test가 작성 된 메소드 호출 이후 실행
*
* */
public class CalculatorTests {
private Calculator calc = null;
@Before
public void setup() {
System.out.println("Calculator 인스턴스 생성");
calc = new Calculator();
}
@Test
public void testSumTwoNumber_4와_5를_전달하면_합계가_9가_계산되는지_확인() {
System.out.println("2-1 테스트 동작");
int result = calc.sumTwoNumber(4, 5);
/* 괄호안에 (예상하는 값, 실제값)을 전달 후 비교해서 같은지 물어보는 메소드 */
assertEquals(9, result); // 스태틱으로 임포트
}
@Test
@Ignore // 테스트 하고싶지않을 경우 무시하도록 작성
public void testSumTwoNumber_6과_7을_전달하면_합계가_13이_계산되는지_확인() {
System.out.println("2-2 테스트 동작");
int result = calc.sumTwoNumber(6, 7);
/* 괄호안에 (예상하는 값, 실제값)을 전달 후 비교해서 같은지 물어보는 메소드 */
/* 세번째 인자는 세번째 인자의 값까지 근사치여도 허용이된다는 의미이다. = 허용오차
* 즉 원래의 값은 13이어야 하지만, 1이 허용 오차이므로, 12여도 14여도 잘 작동된다. */
assertEquals(12, result, 1); // 스태틱으로 임포트
}
/* 사용가능한 어노테이션의 종류
* assertArrayEquals(a,b) : 배열 a와 b가 일치함을 확인
* assertEquals(a,b) : 객체 a 와 b의 값이 같은지 확인
* assertSame(a,b) : 객체 a와 b가 같은 객체임을 확인
* assertTrue(a) : a가 참인지 확인
* assertNotNull(a) : a객체가 Null 이 아님을 확인
* Ignore : 테스트 하고싶지않을 경우 무시하기 위한 어노테이션
* */
/* 테스트 사후, 사전에 설정해야/제거해야하는 값이 있는 경우 before과 after를 설정 */
@After
public void afterTest() {
System.out.println("단위 테스트 완료!");
}
}
class OrderDAO
import static com.greedy.common.JDBCTemplate.close;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import com.greedy.section03.layertests.model.dto.CategoryDTO;
import com.greedy.section03.layertests.model.dto.MenuDTO;
import com.greedy.section03.layertests.model.dto.OrderDTO;
import com.greedy.section03.layertests.model.dto.OrderMenuDTO;
public class OrderDAO {
private Properties prop = new Properties();
public OrderDAO() {
try {
prop.loadFromXML(new FileInputStream("mapper/order-query.xml"));
} catch (IOException e) {
e.printStackTrace();
}
}
/* 모든 카테고리 조회용 메소드 */
public List<CategoryDTO> selectAllCategory(Connection con) {
PreparedStatement pstmt = null;
ResultSet rset = null;
List<CategoryDTO> categoryList = null;
String query = prop.getProperty("selectAllCategory");
try {
pstmt = con.prepareStatement(query);
rset = pstmt.executeQuery();
categoryList = new ArrayList<>();
while(rset.next()) {
CategoryDTO category = new CategoryDTO();
category.setCode(rset.getInt("CATEGORY_CODE"));
category.setName(rset.getString("CATEGORY_NAME"));
categoryList.add(category);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(rset);
close(pstmt);
}
return categoryList;
}
/* 카테고리별 메뉴 조회용 메소드 */
public List<MenuDTO> selectMenuByCategory(Connection con, int categoryCode){
PreparedStatement pstmt = null;
ResultSet rset = null;
List<MenuDTO> menuList = null;
String query = prop.getProperty("selectMenuByCategory");
try {
pstmt = con.prepareStatement(query);
pstmt.setInt(1, categoryCode);
rset = pstmt.executeQuery();
menuList = new ArrayList<>();
while(rset.next()) {
MenuDTO menu = new MenuDTO();
menu.setCode(rset.getInt("MENU_CODE"));
menu.setName(rset.getString("MENU_NAME"));
menu.setPrice(rset.getInt("MENU_PRICE"));
menu.setCategoryCode(rset.getInt("CATEGORY_CODE"));
menu.setOrderableStatus(rset.getString("ORDERABLE_STATUS"));
menuList.add(menu);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(rset);
close(pstmt);
}
return menuList;
}
/* 주문 정보 입력용 메소드 */
public int insertOrder(Connection con, OrderDTO order) {
PreparedStatement pstmt = null;
int result = 0;
String query = prop.getProperty("insertOrder");
try {
pstmt = con.prepareStatement(query);
pstmt.setString(1, order.getDate());
pstmt.setString(2, order.getTime());
pstmt.setInt(3, order.getTotalOrderPrice());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(pstmt);
}
return result;
}
/* 주문 메뉴별 입력용 메소드 */
public int insertOrderMenu(Connection con, OrderMenuDTO orderMenu) {
PreparedStatement pstmt = null;
int result = 0;
String query = prop.getProperty("insertOrderMenu");
try {
pstmt = con.prepareStatement(query);
pstmt.setInt(1, orderMenu.getMenuCode());
pstmt.setInt(2, orderMenu.getOrderAmount());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(pstmt);
}
return result;
}
}
class OrderDAOTests
import static com.greedy.common.JDBCTemplate.getConnection;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.sql.Connection;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import com.greedy.section03.layertests.model.dto.CategoryDTO;
import com.greedy.section03.layertests.model.dto.OrderDTO;
public class OrderDAOTests {
private Connection con;
private OrderDAO orderDAO;
private OrderDTO order;
@Before
public void setup() {
con = getConnection();
orderDAO = new OrderDAO();
order = new OrderDTO();
order.setDate("22/02/07");
order.setTime("12:44:55");
order.setTotalOrderPrice(30000);
}
@Test
public void testSelectAllCategory() {
List<CategoryDTO> categoryList = orderDAO.selectAllCategory(con);
assertNotNull(categoryList);
}
@Test
public void testInsertOrder() {
int result = orderDAO.insertOrder(con, order);
assertEquals(1, result);
}
}


'Programming > JDBC' 카테고리의 다른 글
| JDBC 응용 연습(1) (0) | 2022.02.04 |
|---|---|
| JDBC 개요 (0) | 2022.01.28 |





