๐ฅ ๊ธฐ๋ฅ
์ํ๊ธฐ ํ๋ก๊ทธ๋จ
์ฌ์ฉ์ : ๋ฉ๋ด๋ชฉ๋ก์ถ๋ ฅ, ๋ฉ๋ด์ ํ
๊ด๋ฆฌ์ : ๋ฉ๋ด์ถ๊ฐ, ๋ฉ๋ด์ฌ๊ณ ๋ณ๊ฒฝ, ๋ฉ๋ด์ญ์
๐ง ์ฝ๋
Model (DAO)
package model;
import java.util.ArrayList;
public class ProductDAO {
private ArrayList<ProductDTO> datas; // DB
public ProductDAO() {
datas=new ArrayList<ProductDTO>();
// ์ํ ๋ฐ์ดํฐ ์ถ๊ฐ
ProductDTO sample01=new ProductDTO();
sample01.setNum(1001);
sample01.setName("์ฝ๋ผ");
sample01.setPrice(1200);
sample01.setCnt(3);
datas.add(sample01);
ProductDTO sample02=new ProductDTO();
sample02.setNum(1002);
sample02.setName("์ฌ์ด๋ค");
sample02.setPrice(1100);
sample02.setCnt(0);
datas.add(sample02);
}
public ArrayList<ProductDTO> selectAll(ProductDTO productDTO){
return datas;
}
public ProductDTO selectOne(ProductDTO productDTO){
boolean flag=false;
int i;
for(i=0;i<this.datas.size();i++) {
// this.datas.get(i).getNum()
// ๋ด๊บผ.DB.์์ == ์ํ
// ์ํ.pk()
if(this.datas.get(i).getNum() == productDTO.getNum()) {
flag=true;
break;
}
}
if(!flag) {
return null;
}
return this.datas.get(i);
}
public boolean insert(ProductDTO productDTO) {
try {
ProductDTO data=new ProductDTO();
data.setNum(productDTO.getNum());
data.setName(productDTO.getName());
data.setPrice(productDTO.getPrice());
data.setCnt(productDTO.getCnt());
this.datas.add(data);
}catch(Exception e) {
System.out.println("[๋ก๊ทธ] ์์์๋ ์ด์๋ฐ์!");
return false;
}
return true;
}
public boolean update(ProductDTO productDTO) {
boolean flag=false;
int i;
for(i=0;i<this.datas.size();i++) {
if(this.datas.get(i).getNum() == productDTO.getNum()) {
flag=true;
break;
}
}
if(!flag) {
return false;
}
if(productDTO.getSearchConditon().equals("๊ตฌ๋งค")) {
this.datas.get(i).setCnt(this.datas.get(i).getCnt()-1);
}
else if(productDTO.getSearchConditon().equals("์ฌ๊ณ ๋ณ๊ฒฝ")) {
this.datas.get(i).setCnt(productDTO.getCnt());
}
return true;
}
public boolean delete(ProductDTO productDTO) {
boolean flag=false;
int i;
for(i=0;i<this.datas.size();i++) {
if(this.datas.get(i).getNum() == productDTO.getNum()) {
flag=true;
break;
}
}
if(!flag) {
return false;
}
this.datas.remove(i);
return true;
}
}
Model(DTO)
package model;
public class ProductDTO {
private int num; // PK
private String name;
private int price;
private int cnt;
private String searchConditon; // JAVA ๋ก์ง์์๋ง ์ฌ์ฉํ๋ ๋ณ์
// ์น ๊ฐ๋ฐ์์๋,
// ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์์น์ผ๋ก ํ๋ค!!!!!
// : newํ ๋ ์์ฑ์์ ์ธ์๋ก ๋ฃ๋ ๊ฐ์ค์์,
// ์ด๋ค ๊ฐ์ด ์ ๋ง ์ ํจํ ๊ฐ์ธ์ง ํ์
ํ๋ ์๊ฐ์ ์ค์ด๊ธฐ์ํจ!
public String getSearchConditon() {
return searchConditon;
}
public void setSearchConditon(String searchConditon) {
this.searchConditon = searchConditon;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
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 getCnt() {
return cnt;
}
public void setCnt(int cnt) {
this.cnt = cnt;
}
@Override
public String toString() {
if(this.cnt<=0) {
return this.num+"๋ฒ ์ํ ํ์ ";
}
return "ProductDTO [num=" + num + ", name=" + name + ", price=" + price + ", cnt=" + cnt + "]";
}
}
View
package view;
import java.util.ArrayList;
import java.util.Scanner;
import model.ProductDTO;
public class View {
private Scanner sc;
private int userMAX;
private int adminMAX;
public View() {
this.sc=new Scanner(System.in);
this.userMAX=2;
this.adminMAX=3;
}
public void printMenu() {
System.out.println("=== ์ ํ ๊ธฐ ===");
System.out.println("1. ๋ฉ๋ด๋ชฉ๋ก์ถ๋ ฅ");
System.out.println("2. ๋ฉ๋ด์ ํ");
System.out.println("0. ์ข
๋ฃ");
}
public int inputInteger() {
System.out.print("๋ฒํธ์
๋ ฅ >> ");
int integer=sc.nextInt();
return integer;
}
public int inputPrice() {
System.out.print("๊ฐ๊ฒฉ ์
๋ ฅ >> ");
int price = sc.nextInt();
return price;
}
public String inputName() {
System.out.print("์ด๋ฆ ์
๋ ฅ >>");
String name = sc.next();
return name;
}
public int inputCnt() {
System.out.print("์๋ ์
๋ ฅ >>");
int cnt = sc.nextInt();
return cnt;
}
public int inputNum() {
System.out.println("PK๊ฐ ์
๋ ฅ");
int num = sc.nextInt();
return num;
}
public void printAdminMenu() {
System.out.println("=== ๊ด ๋ฆฌ ์ ===");
System.out.println("1. ๋ฉ๋ด์ถ๊ฐ");
System.out.println("2. ๋ฉ๋ด์ฌ๊ณ ๋ณ๊ฒฝ");
System.out.println("3. ๋ฉ๋ด์ญ์ ");
System.out.println("0. ๊ด๋ฆฌ์๋ชจ๋ ์ข
๋ฃ");
}
public void printDatas(ArrayList<ProductDTO> datas) {
if(datas.size()<=0) {
System.out.println("์ถ๋ ฅํ ๋ฉ๋ด๊ฐ ์์ต๋๋ค...");
return;
}
for(ProductDTO data:datas) {
if(data.getCnt()<=0) {
System.out.println("์ฌ๊ณ ์์!");
continue;
}
System.out.println(data);
}
}
public void printData(ProductDTO data) {
if(data==null) {
System.out.println("์ถ๋ ฅํ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค...");
return;
}
if(data.getCnt()<=0) {
System.out.println(data.getName()+"๋(์) ์ฌ๊ณ ๊ฐ ์์ต๋๋ค...");
return;
}
System.out.println(data);
System.out.println("๊ตฌ๋งค์๋ฃ!");
}
}
Controller
package ctrl;
import java.util.ArrayList;
import model.ProductDAO;
import model.ProductDTO;
import view.View;
public class Ctrl {
private ProductDAO productDAO; // MODEL
private View view;
public Ctrl() {
this.productDAO=new ProductDAO();
this.view=new View();
}
public void start() {
while(true) {
view.printMenu();
int action=view.inputInteger();
if(action==0) {
break;
}
else if(action==1234) {
while(true) {
view.printAdminMenu();
action=view.inputInteger();
if(action==0) {
break;
}
else if(action==1) {
int num=1003;
ProductDTO productDTO = new ProductDTO();
productDTO.setName(view.inputName());
productDTO.setCnt(view.inputCnt());
productDTO.setPrice(view.inputPrice());
productDTO.setNum(num++);
productDAO.insert(productDTO);
}
else if(action==2) {
ProductDTO productDTO = new ProductDTO(); // ์๋ ๊ทธ๋ฅ ๋งค์น ์ํค๊ธฐ ์ํ ๋
์
// ์ํํ
์์ฑ๊ฐ์ ์ฃผ๊ณ ์ฐพ๊ฒ ํ๊ธฐ ์ํจ
// ์ค์ ๊ฐ ๋ณ๊ฒฝ์ ๋ง์ง๋ง DAO์์ ํจ
ArrayList<ProductDTO> datas = productDAO.selectAll(productDTO);
view.printDatas(datas);
productDTO.setNum(view.inputNum());
productDTO.setSearchConditon("์ฌ๊ณ ๋ณ๊ฒฝ");
productDTO.setCnt(view.inputCnt());
productDAO.update(productDTO);
}
else if(action==3) {
ProductDTO productDTO = new ProductDTO();
ArrayList<ProductDTO> datas = productDAO.selectAll(productDTO);
view.printDatas(datas);
productDTO.setNum(view.inputNum());
productDAO.delete(productDTO);
}
}
}
else if(action==1) {
ProductDTO productDTO=new ProductDTO();
ArrayList<ProductDTO> datas=productDAO.selectAll(productDTO);
view.printDatas(datas);
}
else if(action==2) {
int num=view.inputInteger();
ProductDTO productDTO=new ProductDTO();
productDTO.setNum(num);
ProductDTO data=productDAO.selectOne(productDTO);
view.printData(data);
if(data!=null && data.getCnt()>0) { // ๊ตฌ๋งค์ฑ๊ณต์ด๋ผ๋ฉด
data.setSearchConditon("๊ตฌ๋งค");
productDAO.update(data);
}
}
}
}
}
'JAVA > Practice' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] .xml (์ค์ ํ์ผ)์ ๊ตฌ์กฐ (0) | 2024.02.29 |
---|---|
์๋ฐ(Java)์์ ResultSet ํด๋์ค (0) | 2023.12.20 |
[Program] ๋ฐฐ์ด๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ ํ์๋ถ (0) | 2023.12.10 |
[๋ฐฐ์ด] ์ ํ ์ ๋ ฌ (Selection sort) (1) | 2023.11.29 |
[๋ฐฐ์ด] ์ฝ์ ์ ๋ ฌ (Insertion sort) (0) | 2023.11.28 |
๋๊ธ