日期:2014-05-16  浏览次数:20568 次

数据库连接泛型基类创建
记录 以便以后参考----

基类代码
public class GenericDaoImpl<T extends IdEntity> extends HibernateDaoSupport implements GenericDao<T>

GenericDaoImpl<T extends IdEntity> 声明继承GenericDaoImpl的类必须指定一个对象,并且这个对象必须继承IdEntity
extends HibernateDaoSupport 不多说
implements GenericDao<T> 定义了增删改的方法 并且指定的了泛型对象 其内部定义一些通用方法(curd)列:
//这就是泛型的好处,你指定哪个对象,他就让hibernate执行哪个对象的操作
void insert(T entity);


再看看如何在当前GenericDaoImpl类在被实例化后获取子类指定哪个泛型对象呢?
/**
	 * 数据实体类型
	 */
	protected Class<T> entityClass;

	/**
	 * 默认构造函数
	 */
	@SuppressWarnings("unchecked")
	public GenericDaoImpl() {
		Type superClassType = getClass().getGenericSuperclass();

		if (superClassType instanceof ParameterizedType) {
			Type[] paramTypes = ((ParameterizedType) superClassType).getActualTypeArguments();
			this.entityClass = (Class<T>) paramTypes[0];
		}
	}
1 楼 stevensinclair 2011-06-30  
很好 哈哈