`
沙舟狼客
  • 浏览: 162698 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring的HibernateDaoSupport类的用法

阅读更多

package dao.impl;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import util.Pager;

import mode.User;
import dao.UserDao;

public class UserDaoHibernateImpl extends HibernateDaoSupport implements UserDao {

	public void delete(User user) {
		// TODO Auto-generated method stub
		getHibernateTemplate().delete(user);
	}

	public User getUserById(Serializable id) {
		// TODO Auto-generated method stub
		return (User) getHibernateTemplate().get(User.class, id);
	}

	public User getUserByNameAndPassword(String name, String password) {
		// TODO Auto-generated method stub
		List<User> list = getHibernateTemplate().find("from User where name='"+name+"' and password='"+password+"'");
		if(list.size()==1){
			return list.get(0);
		}
		return null;
	}

	public String save(User user) {
		// TODO Auto-generated method stub
		return (String) getHibernateTemplate().save(user);
	}

	public void update(User user) {
		// TODO Auto-generated method stub
		getHibernateTemplate().update(user);
	}

	@SuppressWarnings("unchecked")
	public List<User> list(final Pager pager) {
		// TODO Auto-generated method stub
		pager.setRowSize(getHibernateTemplate().loadAll(User.class).size());
		
		List<User> list = (List<User>) getHibernateTemplate().execute(new HibernateCallback() {
			@Override
			public Object doInHibernate(Session session) throws HibernateException,
					SQLException {
				// TODO Auto-generated method stub
				Query query = session.createQuery("from User u order by u.id");
				System.out.println(pager.getStart()+"----"+pager.getPageSize()+">>>>>>>"+pager);
				query.setFirstResult(pager.getStart()-1);
				query.setMaxResults(pager.getPageSize());
				return query.list();
			}
		});
		//List<User> list = getHibernateTemplate().loadAll(User.class).subList(pager.getStart(), pager.getStart()+pager.getPageSize());
		return list;
	}

}
 
分享到:
评论

相关推荐

    spring 理解文件HibernateDaoSupport

    根据给定的信息,我们可以深入探讨Spring框架中与Hibernate集成的相关知识点,特别关注“HibernateDaoSupport”类及其在Spring环境中的应用。以下是对标题、描述以及部分文件内容的详细解析: ### 一、Spring与...

    hibernateDaoSupport类的运用实例

    本文将详细介绍`hibernateDaoSupport`的使用方法,并通过一个具体的示例来说明其在项目中的应用。 #### 二、`hibernateDaoSupport`类的核心功能 `hibernateDaoSupport`类提供了以下几个核心功能: 1. **...

    HibernateDaoSupport的使用

    当Spring与Hibernate结合时,Spring提供了`HibernateDaoSupport`类,它为基于Hibernate的DAO(数据访问对象)提供了一种简单而强大的支持。本文将深入探讨`HibernateDaoSupport`的原理、用法以及它如何简化开发工作...

    springboot2.0多数据源集成hibernate配置hibernateDaoSupport示例

    `HibernateDaoSupport`是Spring提供的一类辅助类,它提供了与Hibernate SessionFactory的连接,简化了Hibernate的使用。首先,我们需要创建一个基础的DAO接口,然后创建其实现类并继承`HibernateDaoSupport`。例如:...

    HibernateDaoSupport 与@Autowired

    在实际开发中,结合使用`HibernateDaoSupport`和`@Autowired`,我们可以快速构建出健壮且易于维护的DAO层,同时充分利用Spring的IoC容器提供的各种优势。对于`自定义HibernateDaoSupport`这个文件,可能包含了开发者...

    spring-boot 集成hibernate

    这个类是Spring ORM模块提供的,它提供了一个便捷的`getHibernateTemplate()`方法,可以直接使用HibernateTemplate进行数据操作。但是,通常在Spring Boot中,我们更倾向于直接使用JPA的Repository接口,因为它们...

    Spring2.5和Hibernate3集成--学习spring aop ioc

    * 继承HibernateDaoSupport类,使用this.HibernateTemplate这个类持久化数据 * HibernateTemplate是对session的轻量级的封装 * 默认事务回滚异常是RuntiimeException(包括所有继承RuntimeException的子类).普通...

    spring-note spring 读书笔记

    `spring_dao.txt`可能会讨论这些模板类的用法,包括如何执行SQL查询、事务管理等。 4. **Spring与Hibernate的集成**: Spring通过HibernateTemplate和HibernateDaoSupport简化了Hibernate的使用。`spring集成...

    HibernateDaoSupport.docx

    这个类是Spring与Hibernate集成的重要组件,尤其对于初学者来说,理解其工作原理和使用方法是非常有益的。 首先,HibernateDaoSupport实现了对事务的自动化处理。在传统的JDBC操作中,程序员需要手动开启和提交事务...

    spring-orm源码

    例如,对于Hibernate,Spring提供了HibernateTemplate和HibernateDaoSupport类,它们简化了与Hibernate Session的交互。源码中可以看到这些类如何包装和暴露基本的Hibernate操作。 4. **SessionFactory和Session** ...

    Spring面试题大全

    3. PlatformTransactionManager:这是Spring提供的用于管理事务的基础接口,其下有一个实现的抽象类AbstractPlatformTransactionManager,我们使用的事务管理类例如DataSourceTransactionManager等都是这个类的子类...

    HibernateDaoSupport二次封装组件,快速统计和查询,修改

    `HibernateDaoSupport`是Spring框架中为Hibernate提供的一个辅助类,用于简化DAO(数据访问对象)层的开发。本文将深入探讨`HibernateDaoSupport`的二次封装,以及如何通过封装来实现快速的统计、查询、修改和删除...

    spring hibernate security整合

    同时,Spring的HibernateTemplate或HibernateDaoSupport类可以帮助我们简化数据访问操作,减少对Hibernate API的直接调用。 Spring Security(原名Acegi Security)是安全控制的核心。在整合Spring Security时,...

    spring hibernate

    在结合 Spring 和 Hibernate 进行项目开发时,通常会使用 Spring 的 HibernateTemplate 或者 HibernateDaoSupport 类来简化 Session 的管理和事务处理。这些类提供了事务安全的方法,可以在方法执行前后自动开启和...

    Spring+Hibernate实现增删改查的两种方法

    使用HibernateTemplate时,你需要继承Spring的HibernateDaoSupport类,并注入HibernateTemplate实例。 1. **配置HibernateTemplate** 首先,要在Spring配置文件中声明并配置HibernateTemplate,设置SessionFactory...

    spring和数据库层的结合

    3. **自动注入与便利获取**:Spring同样提供了`HibernateDaoSupport`等支持类,这些类可以自动注入数据源和SessionFactory,并且提供了一个便捷的方法来获取`HibernateTemplate`对象。这使得开发过程更加高效。 ###...

    hibernateTemplate和HibernateDaoSupport

    在实际使用中,继承自 HibernateDaoSupport 的 DAO 类可以通过重写其提供的方法,利用 HibernateTemplate 提供的便利功能,实现对业务对象的 CRUD 操作。例如,下面是一些使用 HibernateDaoSupport 的示例方法: ``...

    spring+hibernate+flex整合

    此外,Spring的HibernateTemplate或HibernateDaoSupport类提供了一套便捷的方法,方便调用Hibernate的CRUD操作。 **Spring与Flex整合** Spring与Flex的整合主要涉及到服务端(Spring)与客户端(Flex)的通信。通常...

    spring+hibernate整合简单示例

    2. **SessionFactory和Session的管理**:Spring提供了一个HibernateTemplate或HibernateDaoSupport类,帮助我们管理SessionFactory和Session,使得在Spring环境下使用Hibernate变得更加方便。这些类会自动处理...

Global site tag (gtag.js) - Google Analytics