Java

인터페이스 활용

H_u 2024. 4. 26. 17:23
728x90
반응형
SMALL

package basic.exercise.interfaces;

 

public interface IUserInfoDao {

 

//C R U D

//public abstract 생략 가능

//TODO - 매개의 변수 수정 예정

public abstract void insertUserInfo(UserInfo info);

//단 수정이 되면 안되는 것은 제외한다...

public abstract void updateUserInfo(UserInfo info);

public abstract void deleteUserInfo(int id);

public abstract void selectUserInfo(); //전체 조회

 

}

 

package basic.exercise.interfaces;

 

public class UserInfo {

 

public static int SERIAL_NUM = 0;

private int id;

private String userName;

private String pw;

 

public UserInfo(String userName, String pw) {

this.userName = userName;

this.pw = pw;

}

 

public int getId() {

return id;

}

public String getUserName() {

return userName;

}

public String getPw() {

return pw;

}

public String toString() {

return id + "," + userName + "," +pw;

}

}

 

 

IUserInfoDao 스펙을 구현한 클래스 - 구현 클래스 (UserInfoMySqlDaoImpl )

package basic.exercise.interfaces;

 

public class UserInfoMySqlDaolmpl implements IUserInfoDao {

 

@Override

public void insertUserInfo(UserInfo info) {

// SQL : 질의어 - 배웠다면 --MySQL 언어를 활용해서 구현

System.out.println("insert into user valus(info.getUserName())");

}

 

@Override

public void updateUserInfo(UserInfo info) {

System.out.println("updat set user_tb name = info.getUserName()");

}

 

@Override

public void deleteUserInfo(int id) {

System.out.println("delete from user_tb where id = info.getId()");

}

 

@Override

public void selectUserInfo() {

System.out.println("select * from user_tb");

}

 

}

 

package basic.exercise.interfaces;

 

public class UserInfoOracleImpl implements IUserInfoDao {

 

@Override

public void insertUserInfo(UserInfo info) {

System.out.println("오라클 DB 에 유저 생성");

}

 

@Override

public void updateUserInfo(UserInfo info) {

System.out.println("오라클 DB에 유저 정보 수정");

}

 

@Override

public void deleteUserInfo(int id) {

System.out.println("오라클 DB에 유저 정보 삭제");

 

}

 

@Override

public void selectUserInfo() {

System.out.println("오라클 DB에 유저 정보 전체 조회");

}

 

}

package basic.exercise.interfaces;

 

public class UserInfoClient {

 

public static void main(String[] args) {

 

//사용자에게 정보를 입력하세요 -->Saccner 활용

String inputUserName = "홍길동";

String inputuserPw = "asd123";

 

//DTO : 데이터들을 받아서 전달하는 역할을 가지고 있는 인스턴스를 말한다.

UserInfo info1 = new UserInfo(inputUserName, inputuserPw);

 

//데이터를 받아서 IUserInfoDao 를 구현한 구현 클래스에게 전달하고자 한다.

//UserInfoMySqlDaolmpl, UserInfoOracleImpl

//IUserInfoDao iUserInfoDao1 = new UserInfoMySqlDaolmpl();

IUserInfoDao iUserInfoDao1 = new UserInfoOracleImpl();

 

iUserInfoDao1.insertUserInfo(null);

iUserInfoDao1.updateUserInfo(null);

iUserInfoDao1.deleteUserInfo(0);;

iUserInfoDao1.selectUserInfo();;

}//end of main

 

}//end of class

728x90
반응형
SMALL