[사용 소감] 마벤2의 m2eclipse 사용 매뉴얼의 4가지 일반적인 Dao 실례 작성 (2)

3882 단어 m2eclipse
msn은 글자수 제한이 있기 때문에 분할하여 붙일 수 밖에 없으니 양해해 주십시오
공용 Dao 레이어 섹션:
BasicDaoIf: 유니버설 Dao층 인터페이스는 1.0 버전을 바탕으로 버그가 수정되지 않았기 때문에 억지로 참고하십시오. 여기는 테스트 부분의 코드와 호출된 방법만 붙일 뿐입니다. T는 자바빈의 유형을 계승해야 합니다. 즉, 서열화를 실현했고 PK는 서열화할 수 있는 유형입니다. 예를 들어 Integer와 같습니다.
/**  

 *   

 *     :  dao 

 *    :BasicDao

 *    :  

 * 				@param T    JavaBean      

 * 				@param PK    Serializable        Integer,String

 *    :Edward

 *     :2010-2-12   07:07:25  

 *    :Edward  

 *     :2010-4-47   07:07:25  

 *     :        

 * @version   1.2

 *   

 */

public interface BasicDaoIf<T extends JavaBean,PK extends Serializable> {

	

	/**

	 *           

	 *  @param entityClass        class     JavaBean      

	 *  @return List<T>          

	 *  example: List<User> list =this.findAll(User.class);

	 * */ 

	 List<T> findAll(final Class<T> entityClass);	

}

AbstarctBasicDao: 자주 처리해야 할 부분을 추출하여 공공 클래스로
public abstract class AbstractBasicDao<T extends JavaBean, PK extends Serializable>

		extends BasicSupportDao implements BasicDaoIf<T, PK> {	

	@SuppressWarnings("unchecked")

	@Override

	public List<T> findAll(final Class<T> entityClass) {



		return getHibernateTemplate().findByCriteria(

				DetachedCriteria.forClass(entityClass));

	}

}

 
BasicDao Impl:spring에서 주석을 사용하면 Abstract BasicDao를 실례화합니다. 추상적이어서 실례화할 수 없기 때문에 추상적인 클래스를 계승하는 데 여러 클래스만 새로 만들 수 있습니다. 물론 추상적인 클래스를class로 쓸 수도 있습니다.상속 후 직접 덮어쓰기 방법만 있으면 됩니다
 
 
public class BasicDaoImpl<T extends JavaBean, PK extends Serializable> extends
        AbstractBasicDao<T, Serializable> {
 
    @Override
    public List<T> findAll(Class<T> entityClass) {
         
        return super.findAll(entityClass);
    }
    
}

BasicSupportDao:spring의 주석을 사용하면hibernatetemplate를 찾을 수 없기 때문에 클래스를 독립적으로 써서 주입해야 합니다. (spring3.0.x 이후에는 필요없습니다. 새로운 기능이 생겼기 때문에 @bean의 주석이 필요합니다.)
public class BasicSupportDao extends HibernateDaoSupport {
 
    @Resource(name = "hibernateTemplate")
    public void setHibernatetemplate(HibernateTemplate hibernateTemplate) {
        super.setHibernateTemplate(hibernateTemplate);
    }
}

좋은 웹페이지 즐겨찾기