DAO : Data Access Object(데이터베이스에 접근하는 객체)
위의 예를 보면 똑같은 인터페이스를 이용하여 사용하지만 DB에 따라서 OracleDao, MysqlDao, MSsqlDao를 사용할 수 있다.
package Basic_Grammar.chap3_OOP.ch09_interface_polymorphism.web.userInfo;
import Basic_Grammar.chap3_OOP.ch09_interface_polymorphism.domain.userInfo.UserInfo;
import Basic_Grammar.chap3_OOP.ch09_interface_polymorphism.domain.userInfo.dao.UserInfoDao;
import Basic_Grammar.chap3_OOP.ch09_interface_polymorphism.domain.userInfo.dao.mysql.UserInfoMysqlDao;
import Basic_Grammar.chap3_OOP.ch09_interface_polymorphism.domain.userInfo.dao.oracle.UserInfoOracleDao;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class UserInfoClient {
public static void main(String[] args) throws IOException {
FileInputStream fileInputStream=new FileInputStream("db.properties");
Properties props=new Properties();
props.load(fileInputStream);
String dbtype=props.getProperty("DBTYPE");
UserInfoDao userInfoDao=null;
if (dbtype.equals("ORACLE")){
userInfoDao=new UserInfoOracleDao();
}else if(dbtype.equals("MYSQL")){
userInfoDao=new UserInfoMysqlDao();
}
userInfoDao.insertUserInfo(new UserInfo("사람아이디","사람비번","사람이름"));
userInfoDao.updateUserInfo(new UserInfo("사람아이디","사람비번","사람이름"));
userInfoDao.deleteUserInfo(new UserInfo("사람아이디","사람비번","사람이름"));
}
}
또 다른 예시)
'JAVA > Java2021-2' 카테고리의 다른 글
여러 인터페이스 구현하기 (0) | 2021.11.11 |
---|---|
interface 여러가지 추가된 요소 (default 메서드, 정적 메서드, private 메서드) (0) | 2021.11.11 |
인터페이스를 왜 사용하는가? (0) | 2021.11.11 |
인터페이스 (0) | 2021.11.11 |
추상클래스(abstract class) 구현하기 (0) | 2021.11.11 |