⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daobase.java

📁 达内Java培训实训项目ECPORT原码。 包括逐步优化的四个版本: 简单工厂模式实现 简单Spring-IoC实现 Spring声明式事务实现 Spring-AOP集成
💻 JAVA
字号:
package com.royee.ecport.dao.impl;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.royee.ecport.dao.CommonDao;
import com.royee.ecport.pojo.EntityBase;

public abstract class DaoBase<E extends EntityBase> extends HibernateDaoSupport
		implements CommonDao<E> {

	protected abstract Class<E> getPojoType();

	public void deleteById(Long id) {
		// TODO Auto-generated method stub
		HibernateTemplate ht = this.getHibernateTemplate();
		ht.delete(ht.get(getPojoType(), id));
	}

	@SuppressWarnings("unchecked")
	public E getById(Long id) {
		// TODO Auto-generated method stub
		E o= (E) this.getHibernateTemplate().get(getPojoType(), id);
		this.getHibernateTemplate().refresh(o);		//加载所有lazy字段
		return o;
	}

	@SuppressWarnings("unchecked")
	public List<E> loadAll() {
		// TODO Auto-generated method stub
		return this.getHibernateTemplate().loadAll(getPojoType());
	}

	@SuppressWarnings("unchecked")
	public List<E> loadAll(final int curStart, final int pageSize) {
		// TODO Auto-generated method stub
		if (curStart >= 0 && pageSize > 0)
			return this.getHibernateTemplate().findByCriteria(
					DetachedCriteria.forClass(getPojoType()), curStart,
					pageSize);
		else
			return loadAll();
	}

	@SuppressWarnings("unchecked")
	public E merge(E c) {
		// TODO Auto-generated method stub
		return (E) this.getHibernateTemplate().merge(c);
	}

	public void save(E c) {
		// TODO Auto-generated method stub
		this.getHibernateTemplate().save(c);
	}

	public void saveOrUpdate(E c) {
		// TODO Auto-generated method stub
		this.getHibernateTemplate().saveOrUpdate(c);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -