JAVA/Java2021-2
인터페이스를 활용한 다형성 구현(dao 구현하기)
RoarinGom
2021. 11. 11. 23:28
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("사람아이디","사람비번","사람이름"));
}
}
또 다른 예시)