3:1:01 ~ 3:1:13
<인터페이스의 다형성>
하위 객체들에서 구현해야 하는 기능을 정리해 놓은것 ( 강제적인 규정임 )
주의: 이번 챕터의 내용은 읽는 분들을 위해 정리 되어 있는게 아닌. 제가 모르는 것 위조로 정리 해 놓았기 때문에. 읽다보면 맨탈이 위험 합니다 ^ω^!
오류 : UserInfo cannot be resolved to a type :참조하려는 값이 같은 페키지가 아니기 때문에 . 오류가 발생함.
해결책 : import로 해당값이 있는 객체를 넣는다.
DAO파일작성법
- 접근하려는객채+접근하려는DB형태+Dao
- 인터페이스를 구현하는 dao 라서 그런지 모르겠지만 구현하려는 DB형태의 페키지를 만들고 내부에 Dao작성함. 상위 클레스에 인터페이스 가 있는셈이다.
- 이클립스에서는 인터페이스 파일 위에 i라는 글자 라는 벳지가 있다.
- 인터페이스를 구현하는 객체에서 구현하지 않는 메소드가 있으면
- The type UserInfoMySqlDao must implement the inherited abstract method userInfoDao.deleteUserInfo(UserInfo) 이라는 에러가 뜬다.
- 에러가 뜨는 대상에게 ctrl+1을 선택하면
- 어떤 메소드가 부족한지 코드 계층으로 표시 해준다.
- protected는 상속관게 뿐만 아니라 다른 페키지에서 인스트된 된 객체에도 통한다.
- MySQl DB로 userID를 보낸다 : insert into MySql DB userId
- 파일 IO를 사용하기 위해 파일명으로 파일을 탐색하게 할때. 가장 먼서 프로젝트의 폴더 루트 영역부터 찾기 때문에 속도를 줄일떄는 루트 공간에 넣으면 좋다고 한다
- 파일 IO
- FileInputStream 참조변수명A = new FileInputStream("파일명.확장자");
- import java.io.FileinputStream;
- import java.FileNotFoundException; →1번 타이핑후 빨간줄에서 쓰로우 선택. 1.
- properties 참조변수명B = new properties();
- 파일에 “값A”=”값B” 으로 페어로 입력되어 있는 값을 불러올수 있다.
- 값A는 key. 값B는 value 라고 하여 .key를 입력하면 value가 나온다.
- 참조변수명.load(참조변수명A)
- load코드의 빨간줄에서 throws 선택
package ch13.domain.userInfo.dao.mysql;
import ch13.domain.userInfo.UserInfo;
import ch13.domain.userInfo.dao.userInfoDao;
public class UserInfoMySqlDao implements userInfoDao {
@Override
public void insertUserInfo(UserInfo userInfo) {
System.out.println("insert into MySQL DB userID = "+userInfo.getUserId());
}
@Override
public void updateUserInfo(UserInfo userInfo) {
System.out.println("update into MySQL DB userID = "+userInfo.getUserId());
}
@Override
public void deleteUserInfo(UserInfo userInfo) {
System.out.println("delete from MySQL DB userID = "+userInfo.getUserId());
}
}
package ch13.domain.userInfo.dao.oracle;
import ch13.domain.userInfo.UserInfo;
import ch13.domain.userInfo.dao.userInfoDao;
public class UserInfoOracleDao implements userInfoDao {
@Override
public void insertUserInfo(UserInfo userInfo) {
System.out.println("insert into Oracle DB userID = "+userInfo.getUserId());
}
@Override
public void updateUserInfo(UserInfo userInfo) {
System.out.println("update into Oracle DB userID = "+userInfo.getUserId());
}
@Override
public void deleteUserInfo(UserInfo userInfo) {
System.out.println("delete from Oracle DB userID = "+userInfo.getUserId());
}
}
package ch13.domain.userInfo.dao;
import ch13.domain.userInfo.UserInfo;
public interface userInfoDao {
void insertUserInfo(UserInfo userInfo);
void updateUserInfo(UserInfo userInfo);
void deleteUserInfo(UserInfo userInfo);
}
package ch13.domain.userInfo;
public class UserInfo {
protected String userId;
protected String password;
protected String userName;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
package ch13.web.userInfo;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import ch13.domain.userInfo.UserInfo;
import ch13.domain.userInfo.dao.userInfoDao;
public class UserInfoClient {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("db.properties");
Properties prop = new Properties();
prop.load(fis);
String dbType= prop.getProperty("DBTYPE");
// System.out.println(dbType);
UserInfo userInfo = new UserInfo();
userInfoDao userInfoDao = null; //why?
}
}
DBTYPE=MYSQL
전문 용어
에러 메세지
학습 시간
캠 스터디
공부 모임
1) 카카오톡 오픈 채팅방
- 모르는것을 질문하거나
- 이해가 가지 않는 부분을 다른 분들의 블로그에서 참고하기 용도
2) 구루미 온라인 독서실
- 학습 시간을 관리 하거나 경쟁 하는 용도
온라인 강의 주소
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
직장인인강, 직장인자기계발, 패스트캠퍼스, 패스트캠퍼스후기, 패캠챌린지, 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.강의
'학습방법 > 데일리 미션' 카테고리의 다른 글
[ 패스트캠퍼스 챌린지 25일차 ] 3:1:01 ~ 3:1:13 (0) | 2022.02.17 |
---|---|
[ 패스트캠퍼스 챌린지 24일차 ] 3:1:01 ~ 3:1:13 (0) | 2022.02.16 |
[ 패스트캠퍼스 챌린지 22일차 ] 3:1:01 ~ 3:1:13 (0) | 2022.02.14 |
[ 패스트캠퍼스 챌린지 21일차 ] 3:1:01 ~ 3:1:13 (0) | 2022.02.13 |
[ 패스트캠퍼스 챌린지 20일차 ] 3:1:01 ~ 3:1:13 (0) | 2022.02.12 |