package com.aowin.dao;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.aowin.model.User;
public class UserDao extends HibernateDaoSupport implements IUserDao{
public User findByUsernameAndPassword(String username, String password){
String hql = "from com.aowin.model.User u where u.username=? and u.password=?";
// Query query = this.getSession().createQuery(hql);
// query.setString(0, username);
// query.setString(1, password);
// List list = query.list();
List list = this.getHibernateTemplate().find(hql, new Object[]{username, password});
if(list.isEmpty()){
return null;
}else{
return (User) list.get(0);
}
}
public void deleteById(Integer id) {
// User user = (User) this.getSession().get(User.class, id);
// this.getSession().delete(user);
User user = (User) this.getHibernateTemplate().get(User.class, id);
this.getHibernateTemplate().delete(user);
}
public List<User> findAll() {
String hql = "from com.aowin.model.User";
// return this.getSession().createQuery(hql).list();
return this.getHibernateTemplate().find(hql);
}
public User findById(Integer id) {
return (User) this.getHibernateTemplate().get(User.class, id);
}
public void save(User user) {
this.getHibernateTemplate().save(user);
}
public void update(User user) {
this.getSession().update(user);
}
}
分享到:
相关推荐
首先,我们需要创建一个基础的DAO接口,然后创建其实现类并继承`HibernateDaoSupport`。例如: ```java public interface UserRepository { User findById(Long id); void save(User user); } public class ...
6.Hibernate继承 HibernateDaoSupport。 7.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 2)Demo 导入说明: 1.Eclipse Encoding:GBK 2.Eclipse 导入后可能需要在 Xml Catalog 手动添加:ehcache-...
Spring框架中的`HibernateDaoSupport`类提供了与Hibernate集成的基础支持,简化了开发过程。本文将详细介绍如何利用`HibernateDaoSupport`来实现分页功能。 #### 二、代码分析 ##### 1. MyHibernateDaoSupport 类...
首先,`HibernateDaoSupport`是Hibernate提供的一种用于简化DAO(Data Access Object)层开发的抽象基类。它属于`org.springframework.orm.hibernate5.support`包,为自定义DAO类提供了便捷的初始化和会话管理功能。...
1. 创建DAO子类:首先,我们需要创建一个继承自`HibernateDaoSupport`的DAO类,例如`UserDaoImpl`。 ```java public class UserDaoImpl extends HibernateDaoSupport implements UserDao { // ... } ``` 2. 配置...
`hibernateDaoSupport`是Spring框架中提供的一种支持Hibernate操作的基类。它主要用于简化Hibernate与Spring集成过程中的编码工作,使得开发人员能够更加专注于业务逻辑的编写而非框架间的耦合问题。本文将详细介绍`...
6. **DAO层支持**: 在描述中提到,我们可以选择让DAO层类继承`HibernateDaoSupport`。这个类是Spring ORM模块提供的,它提供了一个便捷的`getHibernateTemplate()`方法,可以直接使用HibernateTemplate进行数据操作...
继承自`DaoSupport`的DAO类可以利用其提供的便利方法,如`getJdbcTemplate()`或`getHibernateTemplate()`,来简化数据库操作。不过,现在更推荐使用Spring Data JPA,它提供了更高级别的抽象,减少了手动编写DAO层...
* 继承HibernateDaoSupport类,使用HibernateTemplate来持久化,HibernateTemplate是 Hibernate Session的轻量级封装 * 默认情况下运行期异常才会回滚(包括继承了RuntimeException子类),普通异常是不会滚的 ...
创建DAO接口和实现类,继承HibernateDaoSupport,然后通过getHibernateTemplate()方法获取HibernateTemplate: ```java public interface UserDAO { void saveUser(User user); // 其他CRUD方法 } @...
通过继承`HibernateDaoSupport`,我们可以轻松地实现对数据库的基本CRUD(创建、读取、更新、删除)操作,而无需每次都手动管理`Session`的生命周期。 1. **快速统计**:在二次封装过程中,我们可以添加一个通用的...
`HibernateTemplate`可以直接注入到Service类中,而`HibernateDaoSupport`需要我们继承,并在子类中注入`SessionFactory`。 - 使用`HibernateTemplate`示例: ```java public class UserService { private ...
我们只需要继承HibernateDaoSupport,并注入SessionFactory,就可以轻松地在DAO中执行CRUD(创建、读取、更新、删除)操作。 4. **注解配置**:Spring和Hibernate都支持注解配置,我们可以使用Java注解替代XML配置...
在DAO层,我们可以继承`HibernateDaoSupport`,然后通过`getHibernateTemplate()`方法获取到`HibernateTemplate`实例,利用它来执行HQL或SQL语句。或者,直接使用`SessionFactory`创建`Session`对象进行操作。 5. ...
这个实现类继承自`HibernateDaoSupport`,利用Spring提供的`HibernateTemplate`简化了Hibernate的调用。`HibernateDaoSupport`内部封装了SessionFactory,提供了一些常用的数据访问操作方法。 ##### 3. ...
这些类通过继承`HibernateDaoSupport`或类似类来实现数据访问逻辑。这样做的好处在于,具体DAO类只需要关注业务逻辑的实现,而不需要关心底层框架的具体实现细节。 3. **封装框架依赖**:通过`HibernateDaoSupport`...
Hibernate支持三种继承映射策略:Single Table、Table Per Class Hierarchies 和 Table Per Subclass。 十一、Hibernate事件监听 允许自定义监听器,如PreInsertEventListener、PreUpdateEventListener,实现特定...
(2) 新建DAO层实现类(该类要实现DAO层接口,继承HibernateDaoSupport类)。 (3) 在Spring配置文件中增加该DAO层实现类的定义,并需要依赖注入一个SessionFactory bean的引用。 7、 开发Service
在实际使用中,继承自 HibernateDaoSupport 的 DAO 类可以通过重写其提供的方法,利用 HibernateTemplate 提供的便利功能,实现对业务对象的 CRUD 操作。例如,下面是一些使用 HibernateDaoSupport 的示例方法: ``...
5. **实现DAO**:继承`HibernateDaoSupport`,注入`HibernateTemplate`,实现DAO接口的方法。 6. **事务管理**:在Service层,使用Spring的`@Transactional`注解进行事务边界控制。 7. **测试**:编写测试用例,...