`
ynp
  • 浏览: 428589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

公共dao的结构

阅读更多
-----------》公共dao的结构

-----共用接口和共用实现类------------------
public interface BaseDao<E,ID extends Serializable> {}
public class BaseDaoImpl<E,ID extends Serializable> implements BaseDao<E,ID>{}

-------具体接口和具体实现类------------------
public interface MenuDao extends BaseDao<Menu, Integer> {}
public class MenuDaoImpl extends BaseDaoImpl<Menu, Integer> implements MenuDao {}

----------》具体具体代码(写了部分方法)
BaseDao.java
package com.xj.dao;

import java.io.Serializable;
import java.util.List;

public interface BaseDao<E,ID extends Serializable> {
	/**
	 * 增加实体
	 * @param obj
	 */
	public abstract void addObject(E obj);

	/**
	 * 删除实体
	 * @param obj
	 */
	public abstract void deleteObject(E obj);

	/**
	 * 跟新实体
	 * @param obj
	 */
	public abstract void updateObject(E obj);

//	public abstract Boolean checkObjectExistsWithName(String objName);

	/**
	 * 
	 * 根据id查找实体
	 */
	public abstract E queryObjectById(Class<E>clazz,ID id);

	/**
	 * 根据条件查找所有实体
	 * @param queryStr
	 * @return
	 */
	public abstract List<E> queryObjects(String queryStr);

}


BaseDaoImpl.java
package com.xj.dao.impl;

import java.io.Serializable;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Component;

import com.xj.dao.BaseDao;
@Component("baseDao")
public class BaseDaoImpl<E,ID extends Serializable> implements BaseDao<E,ID>{
	
	private HibernateTemplate hibernateTemplate; 
	
	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}
	
	@Resource
	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}
	
	@Override
	public void addObject(E obj) {
		hibernateTemplate.save(obj);
	}

	@Override
	public void deleteObject(E obj) {
		hibernateTemplate.delete(obj);
	}
	
	@Override
	public void updateObject(E obj) {
		hibernateTemplate.update(obj);
	}	
	

	@Override
	public E queryObjectById(Class<E> clazz,ID id) {
		return hibernateTemplate.get(clazz, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<E> queryObjects(String queryStr) {
		return hibernateTemplate.find(queryStr);
	}

}


MenuDao.java
package com.xj.dao;

import com.xj.model.Menu;

public interface MenuDao extends BaseDao<Menu	, Integer> {

}


MenuDaoImpl.java
package com.xj.dao.impl;

import org.springframework.stereotype.Service;

import com.xj.dao.MenuDao;
import com.xj.model.Menu;
@Service("menuDao")
public class MenuDaoImpl extends BaseDaoImpl<Menu, Integer> implements MenuDao {

}




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics