资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
JAVA技巧:通用Dao接口和hibernate的实现package com.qiujy.dao;import java.io.Serializable;import java.util.List;/* 基于泛型的通用Dao接口*/public interface GenericDao void create(T entity);void delete(T entity);void update(T entity);T findById(Serializable id);List findAll();List findList(int pageNo, int pageSize);int getCountOfAll();hibernate对此泛型Dao接口的使用:package com.qiujy.dao.hibernate;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.util.List;import org.hibernate.criterion.Projections;import com.qiujy.common.HibernateUtil;import com.qiujy.dao.GenericDao;/* Hibernate对泛型考试,大提示通用Dao接口的实现*/public class GenericHibernateDaoImpl implements GenericDao private Class clazz;SuppressWarnings(“unchecked“)public GenericHibernateDaoImpl() /通过反射猎取T的类型信息实例this.clazz = (Class)(ParameterizedType)this.getClass().getGenericSuperclass().getActualTypeArguments()0;public void create(T entity) HibernateUtil.getSession().save(entity);public void delete(T entity) HibernateUtil.getSession().delete(entity);SuppressWarnings(“unchecked“)public void update(T entity) /HibernateUtil.getSession().saveOrUpdate(entity);entity = (T) HibernateUtil.getSession().merge(entity);SuppressWarnings(“unchecked“)public List findAll() return HibernateUtil.getSession().createCriteria(clazz).list();SuppressWarnings(“unchecked“)public List findList(int pageNo, int pageSize) return HibernateUtil.getSession().createCriteria(clazz).setFirstResult(pageNo - 1) * pageSize).setMaxResults(pageSize).list();public int getCountOfAll() Integer count = (Integer) HibernateUtil.getSession().createCriteria(clazz).setProjection(Projections.rowCount().uniqueResult();if (null = count) return 0; else return count.intValue();SuppressWarnings(“unchecked“)public T findById(Serializable id) return (T)HibernateUtil.getSession().load(clazz, id); /get使用泛型Dao接口:package com.qiujy.dao;import java.util.List;import com.qiujy.domain.Resource;/* Resource类的Dao接口*/public interface ResourceDao extends GenericDao public List findResources(int status);使用hibernate的实现:package com.qiujy.dao.hibernate;import java.util.List;import com.qiujy.common.HibernateUtil;import com.qiujy.dao.ResourceDao;import com.qiujy.domain.Resource;public class ResourceDaoImpl extends GenericHibernateDaoImpl implements ResourceDao SuppressWarnings(“unchecked“)public List findResources(int status) return (List)HibernateUtil.getSession().createQuery(“from Resource where status=:status“).setInteger(“status“, status).list();
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号