JAVA技巧-通用Dao接口和hibernate的实现.docx

上传人:人*** 文档编号:559619666 上传时间:2023-02-13 格式:DOCX 页数:6 大小:12.61KB
返回 下载 相关 举报
JAVA技巧-通用Dao接口和hibernate的实现.docx_第1页
第1页 / 共6页
JAVA技巧-通用Dao接口和hibernate的实现.docx_第2页
第2页 / 共6页
JAVA技巧-通用Dao接口和hibernate的实现.docx_第3页
第3页 / 共6页
JAVA技巧-通用Dao接口和hibernate的实现.docx_第4页
第4页 / 共6页
JAVA技巧-通用Dao接口和hibernate的实现.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《JAVA技巧-通用Dao接口和hibernate的实现.docx》由会员分享,可在线阅读,更多相关《JAVA技巧-通用Dao接口和hibernate的实现.docx(6页珍藏版)》请在金锄头文库上搜索。

1、 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 ge

2、tCountOfAll();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 mon.HibernateUtil;import com.qiujy.dao.GenericDao;/* Hibernate对泛型考试,大提示通用Dao接口的实现*/public

3、 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.get

4、Session().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 find

5、All() 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() In

6、teger 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);

7、/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 mon.HibernateUtil;import co

8、m.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();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号