dao - 데이터와 연계, 저장 공간, Date Access Object
데이터 CRUD처리를 위한 객체, 저장소와 연결하여 데이터를 처리
C : 저장소 입력 메소드
R : 저장소의 데이터를 읽어오는 메소드
U : 저장소의 데이터를 수정하는 메소드
D : 저장소의 데이터를 삭제하는 메소드
dto - 데이터의 변수들을 묶어 놓은 것, DB테이블의 내용 그대로 가지고 옴
자료를 옮기는 역할 Dto
view(콘솔 -> UI/UX html부분) - controller(순차적인 제어) - service(기능적인 제어) - dao - DB
일반적인 경우 참조변수를 사용할 경우 - return이 필요
참조 변수 - 인스턴스의 주소 값이 넘어와 데이터의 값이 바로 저장되기 때문에 return이 필요없음
public void inputPhoneInfo(PhoneInfoDto pInfo){
// 파라미터가 객체일 때 인스턴스의 주소가 전달됨, 주소를 사용하여 직접 인스턴스를 활용함.
// 따라서 return이 필요없음
pInfo.setPhName(ioc.inStr("이름 : "));
pInfo.setPhNum(ioc.inStr("연락처 : "));
pInfo.setPhAddress(ioc.inStr("주소 : "));
pInfo.setPhBirth(ioc.inStr("생일 : "));
}
부품의 경우 - public으로 작성
controller의 경우 private로 작성
소스 분석 시작순서
main 찾기
controller 주석 살펴보기, 클래스가 다르면 변수의 이름이 동일해도 되기 때문에 변수이름을 따라가도 됨
service
view
업무프로세스
p를 살펴서 결과를 rList 목록에 넣어줌
dto
public String getPhName() {
return phName;
}
public void setPhName(String phName) {
this.phName = phName;
}
return phName;
}
public void setPhName(String phName) {
this.phName = phName;
}
view
// 검색 기능을 위한 화면 관련 메소드
public String searchInput(String comment){
String s = ioc.inStr(comment);
ioc.inStr("-----------------------");
return s;
}
public String searchInput(String comment){
String s = ioc.inStr(comment);
ioc.inStr("-----------------------");
return s;
}
controller
// 이름 검색용 메소드
private void nameSearch() {
// 타이틀 출력
pv.viewTitle("이름 검색");
// 입력 받을 창
String sKeyword = pv.searchInput("이름 : ");
// 검색 작업은 서비스가 처리하여 결과를 준다.
ArrayList<PhoneInfoDto> rList = pSev.getNames(sKeyword);
pv.outputList(rList);
}
private void nameSearch() {
// 타이틀 출력
pv.viewTitle("이름 검색");
// 입력 받을 창
String sKeyword = pv.searchInput("이름 : ");
// 검색 작업은 서비스가 처리하여 결과를 준다.
ArrayList<PhoneInfoDto> rList = pSev.getNames(sKeyword);
pv.outputList(rList);
}
service
// 이름 검색용 메소드
public ArrayList<PhoneInfoDto> getNames(String name){
return pDao.getNameInfo(name);
}
public ArrayList<PhoneInfoDto> getNames(String name){
return pDao.getNameInfo(name);
}
dao
// 검색 출력(중복허용), 중복 허용 안 할 시 PhoneInfoDto로 받으면 된다.
public ArrayList<PhoneInfoDto> getNameInfo(String name){
ArrayList<PhoneInfoDto> rList = new ArrayList<>();
for(PhoneInfoDto p : phoneInfos){
// name.equals(p.getPhName()) 동일
if(p.getPhName().equals(name)){
rList.add(p);
}
}
return rList;
}
public ArrayList<PhoneInfoDto> getNameInfo(String name){
ArrayList<PhoneInfoDto> rList = new ArrayList<>();
for(PhoneInfoDto p : phoneInfos){
// name.equals(p.getPhName()) 동일
if(p.getPhName().equals(name)){
rList.add(p);
}
}
return rList;
}
'공부기록' 카테고리의 다른 글
4월 20일 Java - 예외 처리 (1) | 2023.04.20 |
---|---|
4월 20일 Java - 내부클래스, 익명클래스, GUI (0) | 2023.04.20 |
2월 28일 영역별 레이아웃 만들기 정답 + 사이트 레이아웃 만들기 (0) | 2023.02.28 |
2월 27일 (2) 실습 + 반응형 웹 만들기 (0) | 2023.02.27 |
공부팁 - 영타 연습 사이트 (0) | 2023.02.12 |