package ch04;
import java.util.Scanner;
public class UserInfoClient {
//DBTYPE 설정
// public static String DBTYPE = "MYSQL";
public static String DBTYPE = "MsSQL";
// public static String DBTYPE = "ORACLE";
// 회사에따라 프로그램셋팅
// 인터페이스를 활용하여 DB를 효율적으로 활용할수있다.
// 추상멤버는 추가적으로 내용을 삽입할수있으나
// 인터페이스를 쓰게되면 좀 더 명확하게 기능적인면을 따로 분리해서 코드를 설계
// 추상클래스보다 인터페이스가 좀더 유연하게 사용가능
public static void main(String[] args) {
//사용자한테 userinfo정보를 받습니다.
// userInfo.setUserName("이청우");
// userInfo.setUserId("LCW");
// userInfo.setPassword("1234");
UserInfo userInfo = new UserInfo();
Scanner sc = new Scanner(System.in);
System.out.println("회원이름을 입력하세요");
userInfo.setUserName(sc.nextLine());
System.out.println("아이디를 입력하세요");
userInfo.setUserId(sc.nextLine());
System.out.println("비밀번호를 입력하세요");
userInfo.setPassword(sc.nextLine());
UserInfoDao userInfoDao = null;
//블록의 유효범위
//지역변수 초기값을 설정해주는 것이 좋다 아니면 결과값이 틀릴수있다.
//이 메서드를 if문 뿐만아니라 1~3번까지 활용가능
if(DBTYPE.equals("MYSQL")) {
userInfoDao = new UserInfoMySqlDao();
}else if(DBTYPE.equals("OLACLE")){
userInfoDao = new UserInfoOracleDao();
}else {
userInfoDao = new UserInfoMsSqlDao();
}//if
//작동되는 프로그램에 따라 변경이된다.
//오라클과 sql이 작동되는
//1. 회원가입이라면
userInfoDao.insertUserInfo(userInfo);
//2.회원 정보 수정이라면
userInfoDao.updateUserInfo(userInfo);
// //3.회원 탈퇴.삭제
userInfoDao.deleteUserInfo(userInfo);
}// main
}