JDBC DAOFActory 클래스 구현
package ajax.user.language.factory.dao_factory; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Properties; /** * JDBC : ( ) * dao ( ); * :(1) DAO ( Object ) * (2) 。 * (3) dao , JDBC hibernate , * @author kevin Email:[email protected] * 2010-01-09 */ public class DaoFactory { /** */ private static DaoFactory daoFactory=null; /**dao */ private static Object daoImpl=null; /** new */ private DaoFactory(){} /** */ public static DaoFactory getDaoFactoryInstance(){ if(daoFactory==null){ synchronized(DaoFactory .class){ if(daoFactory==null){// , daoFactory=new DaoFactory(); } } } return daoFactory; } /** * properties dao * properti :userDao=ajax.user.language.entity.User( ); * Object , 。 * @param key userDao * @param filePath properties * @return Object */ public Object produceDaoImpObject(String key,String filePath){ try { Properties prop=new Properties(); InputStream input=new FileInputStream(new File(filePath)); prop.load(input); String daoClass=prop.getProperty(key); daoImpl=Class.forName(daoClass).newInstance(); } catch (Exception e) { throw new ExceptionInInitializerError(); } return daoImpl; } /** * src * @param key * @return Object */ public Object produceDaoImpObjectOverFileName(String key,String FileName){ try { Properties prop=new Properties(); InputStream input=DaoFactory.class.getClassLoader().getResourceAsStream(FileName); prop.load(input); String daoClass=prop.getProperty(key); System.out.println(daoClass); daoImpl=Class.forName(daoClass).newInstance(); } catch (Exception e) { e.printStackTrace(); throw new ExceptionInInitializerError(); } return daoImpl; } }
Java 코드
:
Java 코드
package ajax.user.language.dao.impl; import ajax.user.language.entity.Student; import ajax.user.language.factory.dao_factory.DaoFactory; public class Test { public static void main(String[] args) { DaoFactory daoFactory=DaoFactory.getDaoFactoryInstance(); //StuDaoImpl stuImpl=(StuDaoImpl)daoFactory.produceDaoImpObjectOverFileName("StudentDaoImpl","daoconfig.properties"); //StuDaoImpl stuImpl=(StuDaoImpl)daoFactory.produceDaoImpObject("StudentDaoImpl","D://newapps//workspace//ajax//src//daoconfig.properties"); StuDaoImpl stuImpl=(StuDaoImpl)daoFactory.produceDaoImpObject("StudentDaoImpl","src/daoconfig.properties"); Student s1=new Student(); s1.setId("stu1"); s1.setName("zhangsan"); s1.setSex("F"); try { stuImpl.addStudent(s1); } catch (Exception e) { e.printStackTrace(); } } }
구성 파일:daoconfig.properties
Properties 코드
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring에서 DAO가 순환 호출될 때 데이터가 실시간으로 업데이트되지 않는 해결 방법문제를 설명하기 전에 몇 가지 전제 사항을 설명하십시오. Spring의 구성 파일에서 다음과 같은 방식으로 데이터베이스 트랜잭션을 구성했다고 가정하십시오. 현재 UserDao 및 Security Service가 있습...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.