daobase.java

来自「达内Java培训实训项目ECPORT原码。 包括逐步优化的四个版本: 简单工」· Java 代码 · 共 65 行

JAVA
65
字号
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 + =
减小字号Ctrl + -
显示快捷键?