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框架中与Hibernate集成的相关知识点,特别关注“HibernateDaoSupport”类及其在Spring环境中的应用。以下是对标题、描述以及部分文件内容的详细解析: ### 一、Spring与...
本文将详细介绍`hibernateDaoSupport`的使用方法,并通过一个具体的示例来说明其在项目中的应用。 #### 二、`hibernateDaoSupport`类的核心功能 `hibernateDaoSupport`类提供了以下几个核心功能: 1. **...
当Spring与Hibernate结合时,Spring提供了`HibernateDaoSupport`类,它为基于Hibernate的DAO(数据访问对象)提供了一种简单而强大的支持。本文将深入探讨`HibernateDaoSupport`的原理、用法以及它如何简化开发工作...
`HibernateDaoSupport`是Spring提供的一类辅助类,它提供了与Hibernate SessionFactory的连接,简化了Hibernate的使用。首先,我们需要创建一个基础的DAO接口,然后创建其实现类并继承`HibernateDaoSupport`。例如:...
在实际开发中,结合使用`HibernateDaoSupport`和`@Autowired`,我们可以快速构建出健壮且易于维护的DAO层,同时充分利用Spring的IoC容器提供的各种优势。对于`自定义HibernateDaoSupport`这个文件,可能包含了开发者...
这个类是Spring ORM模块提供的,它提供了一个便捷的`getHibernateTemplate()`方法,可以直接使用HibernateTemplate进行数据操作。但是,通常在Spring Boot中,我们更倾向于直接使用JPA的Repository接口,因为它们...
* 继承HibernateDaoSupport类,使用this.HibernateTemplate这个类持久化数据 * HibernateTemplate是对session的轻量级的封装 * 默认事务回滚异常是RuntiimeException(包括所有继承RuntimeException的子类).普通...
`spring_dao.txt`可能会讨论这些模板类的用法,包括如何执行SQL查询、事务管理等。 4. **Spring与Hibernate的集成**: Spring通过HibernateTemplate和HibernateDaoSupport简化了Hibernate的使用。`spring集成...
这个类是Spring与Hibernate集成的重要组件,尤其对于初学者来说,理解其工作原理和使用方法是非常有益的。 首先,HibernateDaoSupport实现了对事务的自动化处理。在传统的JDBC操作中,程序员需要手动开启和提交事务...
例如,对于Hibernate,Spring提供了HibernateTemplate和HibernateDaoSupport类,它们简化了与Hibernate Session的交互。源码中可以看到这些类如何包装和暴露基本的Hibernate操作。 4. **SessionFactory和Session** ...
3. PlatformTransactionManager:这是Spring提供的用于管理事务的基础接口,其下有一个实现的抽象类AbstractPlatformTransactionManager,我们使用的事务管理类例如DataSourceTransactionManager等都是这个类的子类...
`HibernateDaoSupport`是Spring框架中为Hibernate提供的一个辅助类,用于简化DAO(数据访问对象)层的开发。本文将深入探讨`HibernateDaoSupport`的二次封装,以及如何通过封装来实现快速的统计、查询、修改和删除...
同时,Spring的HibernateTemplate或HibernateDaoSupport类可以帮助我们简化数据访问操作,减少对Hibernate API的直接调用。 Spring Security(原名Acegi Security)是安全控制的核心。在整合Spring Security时,...
在结合 Spring 和 Hibernate 进行项目开发时,通常会使用 Spring 的 HibernateTemplate 或者 HibernateDaoSupport 类来简化 Session 的管理和事务处理。这些类提供了事务安全的方法,可以在方法执行前后自动开启和...
使用HibernateTemplate时,你需要继承Spring的HibernateDaoSupport类,并注入HibernateTemplate实例。 1. **配置HibernateTemplate** 首先,要在Spring配置文件中声明并配置HibernateTemplate,设置SessionFactory...
3. **自动注入与便利获取**:Spring同样提供了`HibernateDaoSupport`等支持类,这些类可以自动注入数据源和SessionFactory,并且提供了一个便捷的方法来获取`HibernateTemplate`对象。这使得开发过程更加高效。 ###...
在实际使用中,继承自 HibernateDaoSupport 的 DAO 类可以通过重写其提供的方法,利用 HibernateTemplate 提供的便利功能,实现对业务对象的 CRUD 操作。例如,下面是一些使用 HibernateDaoSupport 的示例方法: ``...
此外,Spring的HibernateTemplate或HibernateDaoSupport类提供了一套便捷的方法,方便调用Hibernate的CRUD操作。 **Spring与Flex整合** Spring与Flex的整合主要涉及到服务端(Spring)与客户端(Flex)的通信。通常...
2. **SessionFactory和Session的管理**:Spring提供了一个HibernateTemplate或HibernateDaoSupport类,帮助我们管理SessionFactory和Session,使得在Spring环境下使用Hibernate变得更加方便。这些类会自动处理...