(사진출처) https://intellipaat.com/tutorial/mongodb-tutorial/mongodb-crud-operations/
C.R.U.D 란 무엇...?
Create - 생성하고
Read - 읽고
Update - 수정하고
Delete - 삭제하는
데이터를 관리하는 큰 틀의 약자입니다.
보통 프로그래밍 언어를 배우고 DB(Data Base)를 배우기 시작할 때 이 용어를 접할 가능성이 많습니다.
이번에 제가 포스팅할 내용은 DB연동과는 무관하며
Java 콘솔이 실행되는 동안 데이터를 배열에 담아
CRUD의 기능이 가능하게 만든 프로그램의 코드를 다루겠습니다.
..
..
mainClass
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | package student; import java.util.Scanner; import dao.daoClass; public class main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 인스턴스 생성 daoClass dao = new daoClass(); // 변수선언 int chNum; while (true) { System.out.println("# 실행 하실 작업의 번호를 입력하시오"); System.out.println(" 1. Insert - 추가 "); System.out.println(" 2. Delete - 삭제 "); System.out.println(" 3. Search - 검색 "); System.out.println(" 4. Update - 수정 "); System.out.print(" 5. Exit - 프로그램 종료\n>>>"); chNum = sc.nextInt(); switch (chNum) { case 1: // 1. Insert - 추가 dao.insert(); break; case 2: // 2. Delete - 삭제 dao.delete(); break; case 3: // 3. Search - 검색 dao.search(); break; case 4: // 4. Update - 수정 dao.update(); break; default: // Exit - 프로그램 종료 System.out.println("프로그램을 종료합니다"); System.exit(0); } System.out.println(); } } } | cs |
daoClass
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | package dao; import java.util.Scanner; import dto.dtoClass; // Data Access object (책) public class daoClass { Scanner sc = new Scanner(System.in); dtoClass dtoArr[] = new dtoClass[20]; // 변수선언 private boolean swit[] = new boolean[20]; private int pageNum; private String check; // init in mainProcess public daoClass() { init(); } // init public void init() { for (int i = 0; i < swit.length; i++) { swit[i] = false; } } // Insert - 추가 public void insert() { System.out.println(); // 개행 for (int i = 0; i < dtoArr.length; i++) { if (swit[dtoArr.length - 1] == true) { System.out.println("더 이상 페이지를 추가 할 수 없습니다"); return; } else if (swit[i] == false) { System.out.println((i + 1) + " 번 페이지에 작성 하실 수 있습니다.\n"); break; } } System.out.print("# 나이\n>>>"); int age = sc.nextInt(); System.out.print("# 이름\n>>>"); String name = sc.next(); System.out.print("# 생년월일\n>>>"); String birth = sc.next(); System.out.print("# 주소\n>>>"); String address = sc.next(); for (int i = 0; i < dtoArr.length; i++) { if (swit[i] == false) { swit[i] = true; pageNum = i + 1; dtoArr[i] = new dtoClass(pageNum, age, name, birth, address); System.out.println("\n" + pageNum + " 번째 페이지가 작성되었습니다"); break; } } } // Delete - 삭제 public void delete() { System.out.print("\n삭제하고 싶은 책의 쪽수를 입력하시오(1 ~ 20)\n>>>"); pageNum = sc.nextInt(); if (dtoArr[pageNum - 1] == null) { System.out.println("\n작성된 페이지가 없는 쪽수입니다"); return; } System.out.println("\n삭제하고 싶은 " + pageNum + "페이지의 내용입니다."); System.out.println(dtoArr[pageNum - 1].toString()); System.out.print("페이지를 삭제하고 싶으시면 'Y'아니면 'N'를 입력하시오\n>>>"); check = sc.next(); if (check.equals("y") || check.equals("Y")) { swit[pageNum - 1] = false; dtoArr[pageNum - 1] = null; System.out.println("\n페이지가 삭제되었습니다."); } else { System.out.println("\n삭제를 취소합니다."); return; } } // Search - 검색 public void search() { System.out.println(); // 개행 System.out.print("검색하고 싶은 책의 쪽수를 입력하시오(1 ~ 20)\n>>>"); pageNum = sc.nextInt(); if (dtoArr[pageNum - 1] == null) { System.out.println("\n작성된 페이지가 없는 쪽수입니다\n"); return; } System.out.println("\n검색하고 싶은 " + pageNum + "페이지의 내용입니다."); System.out.println(dtoArr[pageNum - 1].toString()); } // Update - 수정 public void update() { System.out.println(); // 개행 System.out.print("수정하고 싶은 책의 쪽수를 입력하시오(1 ~ 20)\n>>>"); pageNum = sc.nextInt(); if (dtoArr[pageNum - 1] == null) { System.out.println("\n작성된 페이지가 없는 쪽수입니다"); return; } System.out.println("\n수정하고 싶은 " + pageNum + "페이지의 내용입니다."); System.out.println(dtoArr[pageNum - 1].toString()); System.out.print("페이지를 수정하고 싶으시면 'Y'아니면 'N'를 입력하시오\n>>>"); check = sc.next(); if (check.equals("y") || check.equals("Y")) { System.out.print("# 나이\n>>>"); int age = sc.nextInt(); System.out.print("# 이름\n>>>"); String name = sc.next(); System.out.print("# 생년월일\n>>>"); String birth = sc.next(); System.out.print("# 주소\n>>>"); String address = sc.next(); dtoArr[pageNum-1] = new dtoClass(pageNum, age, name, birth, address); System.out.println("\n페이지가 수정되었습니다."); } } } | cs |
dtoClass
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | package dto; // Data Transfer Object (책의 한 면) public class dtoClass { private int pageNum; private int age; private String name; private String birth; private String address; public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBirth() { return birth; } public void setBirth(String birth) { this.birth = birth; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public dtoClass() { } public dtoClass(int pageNum, int age, String name, String birth, String address) { super(); this.pageNum = pageNum; this.age = age; this.name = name; this.birth = birth; this.address = address; } @Override public String toString() { return "dtoClass [pageNum=" + pageNum + ", age=" + age + ", name=" + name + ", birth=" + birth + ", address=" + address + "]"; } } | cs |
'오랜된 포스팅 > Java' 카테고리의 다른 글
TV 리모콘기능 프로그램 in Java (0) | 2018.05.26 |
---|---|
데이터의 값의 교환..? Basic Swap (0) | 2018.05.26 |
ArrayList를 이용한 동적배열(Dynamic Array) (0) | 2018.05.23 |
알고리즘을 이용한 동적배열(Dynamic Array) (0) | 2018.05.23 |
정렬(sorting) - Bubble sort (0) | 2018.05.22 |