WEB recipe
singleton pattern과 list를 활용한 crud
컵라면만두세트
2022. 5. 18. 11:49
- singleton pattern과 list를 활용한 crud
구조
- Mainclass.java
package main;
import java.util.Scanner;
import cls.DeleteClass;
import cls.InsertClass;
import cls.SelectClass;
import cls.UpdateClass;
public class MainClass {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
// initialize
// loop
// release
//menu 추가(insert), 삭제(delete), 검색(select), 수정(update)
while(true) {
System.out.println(">>>>>>>>>> menu");
System.out.println("1. 학생추가");
System.out.println("2. 학생삭제");
System.out.println("3. 학생검색");
System.out.println("4. 학생수정");
System.out.println("5. 종료");
System.out.println("작업번호 >>>");
int number = s.nextInt();
switch(number) {
case 1 :
InsertClass ic = new InsertClass();
//메소드 호출
ic.process();
break;
case 2 :
DeleteClass dc = new DeleteClass();
dc.process();
break;
case 3 :
SelectClass sc = new SelectClass();
sc.process();
break;
case 4 :
UpdateClass uc = new UpdateClass();
uc.process();
break;
case 5 :
System.exit(0);
break;
}
}
}
}
- StudentDto
private int number; // 학생번호
private String name; // 이름
private int english; // 점수
private int math;
getter, setter , toString
- studentdao
public class StudentDao {
// singleton 패턴
// arraylist를 같이 사용
private static StudentDao dao = null;
public List<StudentDto> list = null;
private StudentDao() {
list = new ArrayList<StudentDto>();
}
public static StudentDao getInstance() {
if(dao == null) {
dao = new StudentDao();
}
return dao;
}
}
- updateclass
학생 수정 , 이름으로 검색해서 , 영어와 수학점수 수정, set활용
public class UpdateClass {
public UpdateClass() {
}
public void process() {
Scanner s = new Scanner(System.in);
System.out.print("이름 = ");
String name = s.next();
System.out.print("영어수정 = ");
int tmp = s.nextInt();
System.out.print("수학수정 = ");
int tmp2 = s.nextInt();
StudentDao dao = StudentDao.getInstance();
for(int i=0; i<dao.list.size(); i++) {
if(dao.list.get(i).getName().equals(name)) {
dao.list.get(i).setEnglish(tmp);
dao.list.get(i).setMath(tmp2);
}
}
}
}
- selectclass
학생 검색, 이름 검색
public class SelectClass {
public SelectClass() {
}
public void process() {
Scanner s = new Scanner(System.in);
System.out.print("이름 = ");
String name = s.next();
StudentDao dao = StudentDao.getInstance();
for(int i=0; i<dao.list.size(); i++) {
if(dao.list.get(i).getName().equals(name)) {
System.out.print("번호 :" + dao.list.get(i).getNumber() + " ");
System.out.print("이름 :" + dao.list.get(i).getName() + " ");
System.out.print("영어 :" + dao.list.get(i).getEnglish() + " ");
System.out.print("수학 :" + dao.list.get(i).getMath() + " ");
System.out.println();
}
}
}
}
나머지 crud도 위 로직과 비슷하게 진행.