MemberController
package kr.or.ddit.mvc.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import kr.or.ddit.mvc.vo.MemberVO;
import kr.or.ddit.service.IMemberService;
import kr.or.ddit.service.MemberServiceImpl;
public class MemberController {
private Scanner scan;
private IMemberService service; //service객체 변수 선언
//생성자
public MemberController() {
scan = new Scanner(System.in);
//service = new MemberServiceImpl();
service = MemberServiceImpl.getInstance();
}
public static void main(String[] args) {
new MemberController().memberStart();
}
public void memberStart(){
while(true){
int choice = displayMenu();
switch(choice){
case 1 : // 추가
insertMember(); break;
case 2 : // 삭제
deleteMember(); break;
case 3 : // 수정 ==> 전체 항목 수정
updateMember(); break;
case 4 : // 전체 자료 출력
displayMember(); break;
case 5 : // 수정 ==> 원하는 항목만 수정
updateMember2(); break;
case 0 : // 종료
System.out.println("작업을 마칩니다.");
return;
default :
System.out.println("번호를 잘못 입력했습니다. 다시입력하세요.");
}
}
}
// 전체 자료 출력
private void displayMember() {
List<MemberVO> cnt = service.getAllMember();
System.out.println("======================전체출력======================");
System.out.println("아이디 이름 비밀번호 전화번호 주소");
if(cnt==null || cnt.size()==0){
System.out.println("출력할 회원정보가 없습니다.");
}else{
for(MemberVO memVo:cnt){
System.out.print(memVo.getMem_id()+"\t");
System.out.print(memVo.getMem_name()+"\t");
System.out.print(memVo.getMem_pass()+"\t");
System.out.print(memVo.getMem_tel()+"\t");
System.out.println(memVo.getMem_addr()+"\t");
}
System.out.println("=================================================");
}
}
// 수정 ==> 원하는 항목만 수정
private void updateMember2() {
System.out.println();
System.out.println("수정할 회원 정보를 입력하세요.");
System.out.print("수정할 회원ID >> ");
String memId = scan.next();
int count = service.getMemberCount(memId);
if(count==0){ // 없는 회원이면...
System.out.println(memId + "은(는) 없는 회원ID입니다.");
System.out.println("수정 작업을 중단합니다.");
return;
}
int num; // 수정할 컬럼에 대한 선택 값이 저장될 변수
String updateField = null;
String updateTitle = null;
do{
System.out.println();
System.out.println("수정할 항목을 선택하세요.");
System.out.println(" 1.회원이름 2.비밀번호 3.전화번호 4.회원주소");
System.out.println("----------------------------------------------");
System.out.print("수정할 항목 선택 >> ");
num = scan.nextInt();
switch(num){
case 1 : updateField = "mem_name";
updateTitle = "회원이름"; break;
case 2 : updateField = "mem_pass";
updateTitle = "비밀번호"; break;
case 3 : updateField = "mem_tel";
updateTitle = "전화번호"; break;
case 4 : updateField = "mem_addr";
updateTitle = "회원주소"; break;
default :
System.out.println("수정할 항목을 잘못 선택했습니다.");
System.out.println("다시 선택하세요.");
}
}while(num<1 || num>4);
scan.nextLine(); // 입력 버퍼 비우기
System.out.println();
System.out.print("새로운 " + updateTitle + " >> ");
String updateData = scan.nextLine();
//수정 작업에 필요한 데이터들을 Map에 저장한다
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("field", updateField);
paramMap.put("data", updateData);
paramMap.put("memid", memId);
int cnt = service.updateMember2(paramMap);
if(cnt>0){
System.out.println("개별 정보 수정 작업 성공!!");
}else{
System.out.println("개별 정보 수정 작업 실패~~");
}
}
// 수정 ==> 전체 항목 수정
private void updateMember() {
System.out.println();
System.out.println("수정할 회원 정보를 입력하세요.");
System.out.print("수정할 회원ID >> ");
String memId = scan.next();
int count = service.getMemberCount(memId);
if(count==0){ // 없는 회원이면...
System.out.println(memId + "은(는) 없는 회원ID입니다.");
System.out.println("수정 작업을 중단합니다.");
return;
}
System.out.println();
System.out.println("수정할 내용을 입력하세요.");
System.out.print("새로운 회원이름 >> ");
String newMemName = scan.next();
System.out.print("새로운 비밀번호 >> ");
String newMemPass = scan.next();
System.out.print("새로운 전화번호 >> ");
String newMemTel = scan.next();
scan.nextLine();
System.out.print("새로운 회원주소 >> ");
String newMemAddr = scan.nextLine();
//입력한 데이터들을 VO객체에 저장한다.
MemberVO memVo = new MemberVO();
memVo.setMem_id(memId);
memVo.setMem_name(newMemName);
memVo.setMem_pass(newMemPass);
memVo.setMem_tel(newMemTel);
memVo.setMem_addr(newMemAddr);
int cnt = service.updateMember(memVo);
if(cnt>0){
System.out.println("수정 스엉공");
}else{
System.out.println("수정 실패");
}
}
// 추가
private void insertMember(){
System.out.println();
System.out.println("추가할 회원 정보를 입력하세요.");
int count = 0;
String memId = null; // 회원ID가 저장될 변수
do{
System.out.print("회원ID >> ");
memId = scan.next();
count = service.getMemberCount(memId);
if(count>0){
System.out.println(memId + "은(는) 이미 등록된 회원ID입니다.");
System.out.println("다른 회원ID를 입력하세요.");
}
}while(count>0);
System.out.print("회원이름 >> ");
String memName = scan.next();
System.out.print("비밀번호 >> ");
String memPass = scan.next();
System.out.print("전화번호 >> ");
String memTel = scan.next();
scan.nextLine(); // 입력 버퍼 비우기
System.out.print("회원주소 >> ");
String memAddr = scan.nextLine();
//입력한 데이터들을 VO객체에 저장한다.
MemberVO memVo = new MemberVO();
memVo.setMem_id(memId);
memVo.setMem_name(memName);
memVo.setMem_pass(memPass);
memVo.setMem_tel(memTel);
memVo.setMem_addr(memAddr);
int cnt = service.insertMember(memVo);
if(cnt>0){
System.out.println("추가 스엉공");
}else{
System.out.println("추가 실패");
}
}
// 삭제
private void deleteMember(){
System.out.println();
System.out.println("삭제할 회원 정보를 입력하세요.");
String memId = null; // 회원ID가 저장될 변수
System.out.print("회원ID >> ");
memId = scan.next();
int cnt = service.deleteMember(memId);
if(cnt>0){
System.out.println("삭제 스엉공");
}else{
System.out.println("삭제 실패");
}
}
// 메뉴를 출력하고 선택한 작업 번호를 반환하는 메서드
private int displayMenu(){
System.out.println();
System.out.println("== 작업 선택 ==");
System.out.println("1. 자료 추가 ");
System.out.println("2. 자료 삭제");
System.out.println("3. 자료 수정");
System.out.println("4. 전체 자료 출력");
System.out.println("5. 자료 수정2");
System.out.println("0. 작업 끝.");
System.out.println("==================");
System.out.print("원하는 작업 선택 >> ");
int num = scan.nextInt();
return num;
}
}
Author And Source
이 문제에 관하여(MemberController), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@susan9905/MemberController저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)