728x90
728x90
코드
// DTO : Data Transfer Object
public class UserInfo {
public static int SERIAL_NUMBER = 0;
private int id;
private String userName;
private String pw;
public UserInfo(String name, String pw) {
SERIAL_NUMBER++;
this.id = SERIAL_NUMBER;
this.userName = name;
this.pw = pw;
}
public int getId() {
return id;
}
public String getUserName() {
return userName;
}
public String getPw() {
return pw;
}
public void showInfo() {
System.out.println("사용자 정보 확인");
System.out.println("userName : " + userName);
System.out.println("pw : " + pw);
}
}
public interface IUserInfoDao {
void insertUserInfo(UserInfo userInfo);
void updateUserInfo(UserInfo userInfo);
void deleteUserInfo(String userName);
void selectUserInfo(String userName);
}
public class UserInfoMssqlDao implements IUserInfoDao {
@Override
public void insertUserInfo(UserInfo userInfo) {
System.out.println("MSSQL : 저장 기능 호출");
System.out.println("이름 : " + userInfo.getUserName());
System.out.println("비밀번호 : " + userInfo.getPw());
}
@Override
public void updateUserInfo(UserInfo userInfo) {
System.out.println("MSSQL : 수정 기능 호출");
System.out.println("이름 : " + userInfo.getUserName());
System.out.println("비밀번호 : " + userInfo.getPw());
}
@Override
public void deleteUserInfo(String userName) {
System.out.println("MSSQL : 삭제 기능 호출");
System.out.println("이름 : " + userName);
}
@Override
public void selectUserInfo(String userName) {
System.out.println("MSSQL : 조회 기능 호출");
System.out.println("이름 : " + userName);
}
}
import java.util.Scanner;
public class UserInfoClient2 {
static String dbName = "Oracle";
public static void main(String[] args) {
// UserInfoOracleDao 만들어주세요
// 스캐너를 통해 사용자 이름, 비번 입력받기
Scanner scanner = new Scanner(System.in);
System.out.println("사용자 이름을 입력해주세요.");
String inputUserName = scanner.nextLine();
System.out.println("사용자 비밀번호를 입력해주세요.");
String inputUserPw = scanner.nextLine();
// 흐름 만들기
// 1. 저장 기능, 2. 수정 기능
// dbName을 변경해가며 코드 동작 확인
UserInfo userInfo = new UserInfo(inputUserName, inputUserPw);
IUserInfoDao dao;
if (UserInfoClient2.dbName.equals("Oracle")) {
dao = new UserInfoOracleDao();
} else if (UserInfoClient2.dbName.equals("MYSQL")) {
dao = new UserInfoMysqlDao();
} else if (UserInfoClient2.dbName.equals("MSSQL")) {
dao = new UserInfoMssqlDao();
}
dao.insertUserInfo(userInfo);
dao.updateUserInfo(userInfo);
}
}
320x100
반응형
'Java > Base' 카테고리의 다른 글
[Java] 오류와 예외 처리 (0) | 2023.02.15 |
---|---|
[Java] Object 클래스 (0) | 2023.02.14 |
[Java] 인터페이스와 default 메서드 (0) | 2023.02.13 |
[Java] String 클래스의 메서드 (0) | 2023.02.13 |
[Java] 배열 - 오름차순 정렬 (0) | 2023.02.11 |