ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인터페이스 활용 예제
    Java 2023. 2. 18. 21:27
    package ch04;
    
    public class UserInfoMysqlDao implements IUserInfoDao {
    	//DB 연결은 코드 작성
    	// 질의성 생성
    	//결과 집합
    	
    	@Override
    	public void insertUserInfo(UserInfo userInfo) {
    		System.out.println("MYSQL : 저장 기능 호출");
    		System.out.println("이름 : " + userInfo.getuserName());
    		System.out.println("PW : " + userInfo.getPw());
    	}
    
    	@Override
    	public void updateUserInfo(UserInfo userInfo) {
    		System.out.println("MYSQL : 수정 기능 호출");
    		System.out.println("이름 : " + userInfo.getuserName());
    		System.out.println("PW : " + userInfo.getPw());
    		
    	}
    
    	@Override
    	public void deleteUserInfo(String userName) {
    		System.out.println("MYSQL : 삭제 기능 호출");
    		System.out.println("이름 : " + userName);
    		
    	}
    
    	@Override
    	public void selecteUserInfo(String userName) {
    		System.out.println("MYSQL : 조회 기능 호출");
    		System.out.println("이름 : " + userName);
    		
    	}
    		//DAO ->
    		// 앞 단에서 던져 준 데이터를 가지고 -- DB에 값을 밀어 넣는 기능을 만든다.
    		
    }​
    package ch04;
    
    // 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 userName, String pw) {
    		SERIAL_NUMBER++;
    		this.Id = SERIAL_NUMBER;
    		this.userName = userName;
    		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);
    	}
    }
    package ch04;
    
    public interface IUserInfoDao {
    	//책 전체 삭제를 생각해보면 된다.
    	void insertUserInfo(UserInfo userInfo);
    	void updateUserInfo(UserInfo userInfo);
    	void deleteUserInfo(String userName);
    	void selecteUserInfo(String userName);
    }
    package ch04;
    
    public class UserInfoClient {
    
    	// main --> 실행하는 코드 작성 (사용쪽 코드)
    	public static void main(String[] args) {
    
    		// 사용자 한테 정보를 입력 받는다.
    		// String userName, String pw
    		// 스캐너 활용 -> 이름을 방어적 코드로 짤수있다(이름 한글자 이상,pw 특수 포함)
    		String inputUserName = "홍길동";
    		String inputUserPw = "1234";
    		// 위에 받은 데이터를 Object 타입 변화 -> DTO
    		UserInfo userInfo = new UserInfo(inputUserName, inputUserPw);
    		userInfo.showInfo();
    
    		// 위에는 클라이언트 쪽 코드들 (개발자 작성)
    		//////////////////////////////////////
    		// 동작이 사용자에 정보를 입력하는 기능이 필요하다면
    		// 필요한 객체를 가져와서 사용하기만 하면 됩니다.
    		UserInfoMysqlDao dao = new UserInfoMysqlDao();
    
    		// 인터페이스를 보면 다음 개발자가 이렇게 작업을 하겠구나 알수있는 명세다.
    		dao.insertUserInfo(userInfo);
    		dao.updateUserInfo(userInfo);
    
    //		dao.insertUserInfo(userInfo); 		//저장하는기능
    //		dao.updateUserInfo(userInfo); 	//수정하는기능
    //		dao.deleteUserInfo(userInfo.getuserName());  	//삭제기능
    //		dao.selecteUserInfo(userInfo.getuserName());
    
    	}
    }
    package ch04;
    
    public class UserInfoMysqlDao implements IUserInfoDao {
    	// DB 연결은 코드 작성
    	// 질의성 생성
    	// 결과 집합
    
    	@Override
    	public void insertUserInfo(UserInfo userInfo) {
    		System.out.println("MYSQL : 저장 기능 호출");
    		System.out.println("이름 : " + userInfo.getuserName());
    		System.out.println("PW : " + userInfo.getPw());
    	}
    
    	@Override
    	public void updateUserInfo(UserInfo userInfo) {
    		System.out.println("MYSQL : 수정 기능 호출");
    		System.out.println("이름 : " + userInfo.getuserName());
    		System.out.println("PW : " + userInfo.getPw());
    
    	}
    
    	@Override
    	public void deleteUserInfo(String userName) {
    		System.out.println("MYSQL : 삭제 기능 호출");
    		System.out.println("이름 : " + userName);
    
    	}
    
    	@Override
    	public void selecteUserInfo(String userName) {
    		System.out.println("MYSQL : 조회 기능 호출");
    		System.out.println("이름 : " + userName);
    
    	}
    	// DAO ->
    	// 앞 단에서 던져 준 데이터를 가지고 -- DB에 값을 밀어 넣는 기능을 만든다.
    
    }

     

     

    'Java' 카테고리의 다른 글

    예외처리  (0) 2023.02.19
    Object  (0) 2023.02.18
    인터페이스  (0) 2023.02.18
    String class  (0) 2023.02.18
    추상 클래스  (0) 2023.02.18
Designed by Tistory.