1、HibernateDaoSupport是有spring提供的一个hibernate模版工具类,或不多说,直接上代码

接口 IGenericDao.java

package org.hibernatetemplate.test;

/**
* 功能:hibernate 操作 模板基类设计
* @author geenkDC
* @version 1.0 2016-01-04 17:01:42
* @JDK 7
*/
import java.io.Serializable;
import java.util.Collection;
import java.util.List; import org.hibernate.LockMode;
import org.springframework.dao.DataAccessException; public interface IGenericDao<T, ID extends Serializable> { public T load(ID id) throws DataAccessException; public T get(ID id) throws DataAccessException; public boolean contains(T t) throws DataAccessException; public void refresh(T t, LockMode lockMode) throws DataAccessException; public void refresh(T t) throws DataAccessException; public Serializable save(T t) throws DataAccessException; public void saveOrUpdate(T t) throws DataAccessException; public void saveOrUpdateAll(Collection<T> entities) throws DataAccessException; public void update(T t, LockMode lockMode) throws DataAccessException; public void update(T t) throws DataAccessException; public void delete(T t, LockMode lockMode) throws DataAccessException; public void delete(T t) throws DataAccessException; public void deleteAll(Collection<T> entities) throws DataAccessException; public List<T> find(String queryString, Object value) throws DataAccessException; public List<T> find(String queryString, Object[] values) throws DataAccessException; public List<T> find(String queryString) throws DataAccessException; public List<T> list() throws DataAccessException; public List<T> findByNamedQuery(String queryName) throws DataAccessException; public List<T> findByNamedQuery(String queryName, Object value) throws DataAccessException; public List<T> findByNamedQuery(String queryName, Object[] values) throws DataAccessException; }

接口实现类:

 package org.hibernatetemplate.test;

 /**
* 功能:hibernate 操作 模板基类设计
* @author geenkDC
* @version 1.0 2016-01-04 17:01:42
* @JDK 7
*/
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.Collection;
import java.util.List; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @SuppressWarnings("unchecked")
public class GenericDao<T, ID extends Serializable> extends HibernateDaoSupport implements IGenericDao<T, ID> {
private Log logger = LogFactory.getLog(getClass()); protected Class<T> entityClass; public GenericDao() { } protected Class getEntityClass() {
if (entityClass == null) {
entityClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
logger.debug("T class = " + entityClass.getName());
}
return entityClass;
} public void saveOrUpdate(T t) throws DataAccessException {
this.getHibernateTemplate().saveOrUpdate(t);
} public T load(ID id) throws DataAccessException {
T load = (T) getHibernateTemplate().load(getEntityClass(), id);
return load;
} public T get(ID id) throws DataAccessException {
T load = (T) getHibernateTemplate().get(getEntityClass(), id);
return load;
} public boolean contains(T t) throws DataAccessException {
return getHibernateTemplate().contains(t);
} public void delete(T t, LockMode lockMode) throws DataAccessException {
getHibernateTemplate().delete(t, lockMode);
} public void delete(T t) throws DataAccessException {
getHibernateTemplate().delete(t);
} public void deleteAll(Collection<T> entities) throws DataAccessException {
getHibernateTemplate().deleteAll(entities);
} public List<T> find(String queryString, Object value) throws DataAccessException {
List<T> find = (List<T>) getHibernateTemplate().find(queryString, value);
return find;
} public List<T> find(String queryString, Object[] values) throws DataAccessException {
List<T> find = (List<T>) getHibernateTemplate().find(queryString, values);
return find;
} public List<T> find(String queryString) throws DataAccessException {
return (List<T>) getHibernateTemplate().find(queryString);
} public void refresh(T t, LockMode lockMode) throws DataAccessException {
getHibernateTemplate().refresh(t, lockMode);
} public void refresh(T t) throws DataAccessException {
getHibernateTemplate().refresh(t);
} public Serializable save(T t) throws DataAccessException {
return getHibernateTemplate().save(t);
} public void saveOrUpdateAll(Collection<T> entities) throws DataAccessException {
getHibernateTemplate().saveOrUpdateAll(entities);
} public void update(T t, LockMode lockMode) throws DataAccessException {
getHibernateTemplate().update(t, lockMode);
} public void update(T t) throws DataAccessException {
getHibernateTemplate().update(t);
} public List<T> list() throws DataAccessException {
return getHibernateTemplate().loadAll(getEntityClass()); } public List<T> findByNamedQuery(String queryName) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName);
} public List<T> findByNamedQuery(String queryName, Object value) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName, value);
} public List<T> findByNamedQuery(String queryName, Object[] values) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName, values);
} }

怎么使用,自行补脑吧

HibernateDaoSupport的使用的更多相关文章

  1. HibernateDaoSupport类的使用

    HibernateDaoSupport类的使用 1.        继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioo ...

  2. HibernateTemplate和HibernateDaoSupport(spring注入问题)

    HibernateTemplate HibernateTemplate是spring提供的一个就hibernate访问持久层技术而言.支持Dao组件的一个工具.HibernateTemplate提供持 ...

  3. HibernateDaoSupport 源码

    package org.springframework.orm.hibernate3.support; import org.hibernate.HibernateException; import  ...

  4. SessionFactory、HibernateTemplate、HibernateDaoSupport之间的关系说明

    在接触HibernateTemplate之前,我们知道,在对数据库进行CRUD操作之前,需要开启session.transaction等等.在hibernate学习过程中,我们知道了,得到sessio ...

  5. HibernateDaoSupport和HibernateTemplate

    hibernateTemplate的常用方法: Ø  void delete(Object entity):删除指定持久化实例 Ø  deleteAll(Collection entities):删除 ...

  6. HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good(转)

    Spring+Hibernate两种方法实现增删改查 首先,定义一个Customer的bean类,设置好Customer.hbm.xml文件.再定义好一个Dao接口.准备好一个jdbc.propert ...

  7. HibernateTemplate和HibernateDaoSupport

    Spring整合Hibernate后,为Hibernate的DAO提供了两个工具类:HibernateTemplate和HibernateDaoSupport HibernateTemplateHib ...

  8. HibernateDaoSupport的getSession()与HibernateTemplate的区别

    在 Spring+Hibernate的集成环境里,如果DAO直接使用HibernateDaoSupport的getSession()方法获取 session进行数据操作而没有显式地关闭该session ...

  9. Spring HibernateTemplate与HibernateDaoSupport对比

    HibernateTemplate与HibernateDaoSupport两者都是spring整合hibernate提供的模板技术. 对于保存一个对象,HibernateTemplate需要先配置 配 ...

随机推荐

  1. codevs 1197 Vigenère密码

    开始做NOIP啦.. #include<iostream> #include<cstdio> #include<cstring> #include<algor ...

  2. HTML5之video元素

    一.video元素支持的视频格式 HTML5中的video标签支持3种常用的视频格式: 1.Ogg = 带有Theora 视频编码和Vorbis 音频编码的 Ogg 文件: 2.MPEG4 = 带有H ...

  3. MySQL基础之第11章 插入、更新与删除数据

    11.1.插入数据 11.1.1.为表的所有字段插入数据 1.INSERT语句中不指定具体的字段名         insert into 表名 values (值1,值2…值n)2.INSERT语句 ...

  4. UVALive 4255 Guess

    这题竟然是图论···orz 题意:给出一个整数序列a1,a2,--,可以得到如下矩阵 1 2 3 4 1 - + 0 + 2   + + + 3       -  - 4         + &quo ...

  5. C# 多线程网络爬虫

    原文 C#制作多线程处理强化版网络爬虫 上次做了一个帮公司妹子做了爬虫,不是很精致,这次公司项目里要用到,于是有做了一番修改,功能添加了网址图片采集,下载,线程处理界面网址图片下载等. 说说思路:首相 ...

  6. bjfu1109 最小公倍数和

    这题真是过了n年才a.最早是在2010年北大培训比赛上看到的这题,当时我不会,竹教主也不会,但他记下来了,研究一段时间后就会了,还把这题加到我校oj上.过了这么多年,我上网搜,关于这个问题的解题报告还 ...

  7. PICT实现组合测试用例(一)

    最近阅读了史亮老师的<软件测试实战:微软技术专家经验总结>一书,其中“测试建模”一章让我受益匪浅.想想以前的测试有多久没有花过心思放在测试用例的设计上了,一直强调“测试思想”的培养也都只是 ...

  8. ASP.NET单点登录(代码)

    [p=25, null, left]由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录.在ASP.NET中实现单点登录其实很简单,下面就把主要的方法和全部 ...

  9. 【九度OJ】题目1096-二分查找

    题目1069:查找学生信息 这篇文章中提到的问题主要是由于调试平台Visual Studio和测试平台Online Judge的一些小差异,造成在Visual Studio中调试通过的代码,在输入OJ ...

  10. [LeetCod] Single Number

    Given an array of integers, every element appears twice except for one. Find that single one. Note:Y ...