package com.data.dao.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.data.dao.IUserDao;
import com.web.bo.User; //注意这里, 我查了 com.web.bo.User 是个hibernate的pojo对象,不是formbean
public class UserDaoImpl extends HibernateDaoSupport implements IUserDao{
public User getUser(String username) {
// 根据用户名得到 User 对像
String hql="from User u where username=?";
List users=this.getHibernateTemplate().find(hql,username);
if(users.size()==1)
return (User)users.get(0);
return null;
}
public boolean addUser(User user){
// 增加新用户
this.getHibernateTemplate().save(user);
return true;
}
public boolean delUser(Integer uid) {
// 删除一个用户 Integer类型的序列化id
User user=(User) this.getHibernateTemplate().load(User.class,uid);
this.getHibernateTemplate().delete(user);
return true;
}
public boolean updateUser(User user) {
// 修改User
this.getHibernateTemplate().update(user);
return true;
}
public List getAllUser() {
// 查询所有用户记录
String hql="from User u";
List users=this.getHibernateTemplate().find(hql);
return users;
}
}
分享到:
相关推荐
`getHibernateTemplate()`方法是Spring框架提供的,用于获取`HibernateTemplate`实例的方法。该实例封装了对Hibernate Session的操作,可以方便地执行CRUD操作。 **示例代码**: ```java public class InfoDAOImpl ...
以上介绍了通过`getHibernateTemplate()`方法执行查询的不同方式,包括简单的HQL查询、带有参数的查询、模糊查询以及基于实例对象的查询等。这些方法在实际开发中非常实用,可以帮助开发者更灵活地处理各种查询需求...
在这里,`getHibernateTemplate().save(xs)`利用Hibernate的模板方法,将对象保存到数据库。HibernateTemplate是Spring对Hibernate的封装,使得操作数据库更加简洁。 在Action层,我们看到`private XsService ...
`getHibernateTemplate()`方法返回一个`HibernateTemplate`实例,通过它可以执行各种HQL和Native SQL查询。 #### 四、示例代码分析 以下是对示例代码的详细分析: 1. **导入必要的包**: ```java import java....
### Spring与Hibernate相结合的实例详解 #### 一、引言 在现代企业级Java开发中,Spring框架和Hibernate是两个非常重要的技术栈。Spring作为一款轻量级的应用框架,主要负责控制反转(IoC)和面向切面编程(AOP)...
1. `public final HibernateTemplate getHibernateTemplate()`: 返回一个 HibernateTemplate 实例,该实例通过调用 `setSessionFactory` 方法设置的 SessionFactory 创建。这样,DAO 类可以直接使用 ...
`getHibernateTemplate`方法确保了每次只有一个`HibernateTemplate`实例,避免了多次实例化。DAO类中的其他方法如`getPersons()`、`getPerson()`和`savePerson()`则直接调用`HibernateTemplate`的相应方法来执行...
- `Object get(Class entityClass, Serializable id)`:根据主键加载特定持久化类的实例。 这些方法简化了数据访问层的实现,使开发者能够更加高效地进行数据库操作。 ##### 2. 分页查询支持 `HibernateTemplate...
return getHibernateTemplate().execute(new HibernateCallback<List<String>>() { @Override public List<String> doInHibernate(Session session) throws HibernateException, SQLException { Query query = ...
1. **public final HibernateTemplate getHibernateTemplate()**:返回一个`HibernateTemplate`实例。 2. **public final void setSessionFactory(SessionFactory sessionFactory)**:设置SessionFactory。 在实际...
this.getHibernateTemplate().save(user); } public PageModel findAllUser(int offset, int pageSize) { // 获取总记录数 String queryCountHql = "select count(*) from User"; Query query = getSession...
而`getHibernateTemplate()`则能更好地管理Session,它支持事务管理和连接池,能更有效地重用Session,避免资源浪费。 现在,让我们深入探讨`getSession()`和`HibernateTemplate`的各种用法: 1. **getSession()的...
1. **`void delete(Object entity)`**:用于删除一个指定的对象实例。例如,如果要删除一个`Person`对象,可以直接调用此方法。 2. **`void deleteAll(Collection entities)`**:用于批量删除集合中的所有对象实例...
使用 DetachedCriteria 可以很方便地根据查询条件来返回查询结果,Spring 框架提供了 `getHibernateTemplate().findByCriteria(detachedCriteria)` 方法来实现这一点。 Criteria 和 DetachedCriteria 均可使用 ...
Spring 的框架提供了 getHibernateTemplate().findByCriteria(detachedCriteria) 方法可以很方便地根据 DetachedCriteria 来返回查询结果。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置...
Spring 的框架提供了 getHibernateTemplate().findByCriteria(detachedCriteria) 方法,可以很方便地根据 DetachedCriteria 来返回查询结果。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置...
public final HibernateTemplate getHibernateTemplate() public final void setSessionFactory(SessionFactory sf) 思考题 1. Spring中是怎么对Hibernate进行支持的? 2. 如何进行Spring与Hibernate的整合?