在使用hibernate3.1的时候,觉得它简化了dao的代码,让代码简洁了好多。
但是想想还是有很多让人不如意的地方,例如,创建sessionfactory,session.....然后对这些开启,关闭之类的。后来学习了spring2.0,在里面接触了hibernatedaosupport类,慢慢使用到项目中。现在感觉,如果使用了hibernate3.1,而不使用spring2.0的hibernatedaosupport类的支持,会气死...。对于它,里面有很多的方法,可以实现我们dao类的crud操作,但是平时方法用的比较单一,现在总结下下添加与删除的方法:
getHibernateTemplate().save(Object entity);
getHibernateTemplate().save(String entityName, Object entity);
getHibernateTemplate().saveOrUpdate(Object entity);
getHibernateTemplate().saveOrUpdate(String entityName, Object entity);
getHibernateTemplate().saveOrUpdateAll(Collection entites);
getHibernateTemplate().delete(Object entity);
getHibernateTemplate().delete(Object entity, LockMode lockMode);
getHibernateTemplate().deleteAll(Collection entities);
/**用户数据访问类
* @author Administrator
*/
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
/** 添加用户5个方法介绍开始 **/
public void addUser(User user){
getHibernateTemplate().save(user);
}
/**
* @para1,名称随便取
*/
public void addUser1(User user){
getHibernateTemplate().save("aa",user);
}
public void addUser2(User user){
getHibernateTemplate().saveOrUpdate(user);
}
/**
* @para1,名称随便取
*/
public void addUser3(User user){
getHibernateTemplate().saveOrUpdate("User",user);
}
/**
* 批量添加
* @param,必须为实现Collection接口实现集合
*/
public void addUser4(ArrayList<User> users){
getHibernateTemplate().saveOrUpdateAll(users);
}
/** 添加用户5个方法介绍结束 **/
/** 删除用户3个方法介绍开始 **/
public void deleteUser(User user){
getHibernateTemplate().delete(user);
}
/**
* LockMode:锁(对于hibernate这样设计的目的是在于什么地方,还不明白!)
* LockMode.NONE : 无锁机制
* LockMode.WRITE :在Insert和Update记录的时候会自动获取
* LockMode.READ : 在读取记录的时候会自动获取
* 以上这三种锁机制一般由Hibernate内部使用,如Hibernate为了保证Update
* 过程中对象不会被外界修改,会在save方法实现中自动为目标对象加上WRITE锁
* LockMode.UPGRADE :利用数据库的for update子句加锁
* LockMode.UPGRADE_NOWAIT :Oracle的特定实现,利用Oracle的for
* update nowait子句实现加锁
*@param user
*/
public void deleteUser1(User user){
//getHibernateTemplate().delete(user);
getHibernateTemplate().delete(user, LockMode.NONE);//LockMode.WRITE无效
}
/**
* 批量删除
*@param users
*/
public void deleteUser2(ArrayList<User> users){
getHibernateTemplate().deleteAll(users);
}
/** 删除用户3个方法介绍结束 **/
}
这是一个简单的dao类了.....(里面对添加与删除方法介绍了下)
/**用户业务处理类
* @author Administrator
*
*/
public class UserBizImpl implements UserBiz {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void addUser(User user){
//userDao.addUser(user);
//userDao.addUser1(user);
//userDao.addUser2(user);
//userDao.addUser3(user);
ArrayList<User> users=new ArrayList<User>();
users.add(new User("a","b"));
users.add(new User("b","b"));
userDao.addUser4(users);
}
public void deleteUser(User user){
//userDao.deleteUser(user);
//ArrayList<User> users=(ArrayList<User>) getListUser();
//userDao.deleteUser2(users);
userDao.deleteUser1(user);
}
public List getListUser(){
return userDao.getListUser();
}
public User getUserById(int id){
return userDao.getUserById(id);
}
}
这是dao对应的biz类了.....
下次对更新与查询总结下,希望刚入门可以参考下...
tanlinqing
分享到:
相关推荐
在 Spring 中使用 Hibernate 通常有两种方式:一是使用 HibernateTemplate 或 HibernateDaoSupport,另一种是直接使用 Hibernate 的原生 API。这里我们关注后者,通过 Spring 注入 SessionFactory 到 DAO 类中,然后...
* 使用Spring框架来实现依赖注入和AOP,例如使用Spring的HibernateDaoSupport来实现DAO层的开发。 六、系统优点 * 使用Struts、Spring和Hibernate三种技术可以实现一个灵活、可维护和高效的用户登陆系统。 * 系统...
本示例主要介绍如何实现Spring Boot 2.0多数据源的集成,并结合Hibernate进行配置,特别是在DAO层使用`HibernateDaoSupport`进行操作,而非使用JPA(Java Persistence API)。 首先,让我们了解Spring Boot 2.0的...
此外,Spring的HibernateTemplate或HibernateDaoSupport类提供了一套便捷的方法,方便调用Hibernate的CRUD操作。 **Spring与Flex整合** Spring与Flex的整合主要涉及到服务端(Spring)与客户端(Flex)的通信。通常...
2. **SessionFactory和Session的管理**:Spring提供了一个HibernateTemplate或HibernateDaoSupport类,帮助我们管理SessionFactory和Session,使得在Spring环境下使用Hibernate变得更加方便。这些类会自动处理...
### Struts2、Spring与Hibernate整合应用:学生成绩管理系统 #### 一、知识点概览 本项目聚焦于Struts2、Spring与Hibernate三大框架的整合应用,旨在构建一个高效、稳定、易于维护的学生成绩管理系统。通过整合这...
4. **HibernateTemplate与HibernateDaoSupport**:Spring提供了HibernateTemplate和HibernateDaoSupport,它们为DAO层提供了便捷的操作方法,如save、update、delete、find等,同时处理了事务和异常。 5. **JPA集成...
《Spring与Hibernate整合详解》 在现代Java Web开发中,Spring和Hibernate是两个非常重要的开源框架,它们分别在依赖注入和对象关系映射(ORM)领域有着广泛的应用。Spring作为一个全面的轻量级应用框架,提供了...
3. **数据访问对象(DAO)**:Spring的DAO支持包括定义DAO接口和实现类,以及使用HibernateTemplate或HibernateDaoSupport作为基础类,简化与Hibernate Session的交互。 4. **实体管理**:在Hibernate中,实体类是...
整合Spring和Hibernate时,通常会通过Spring的DataSource、SessionFactory和HibernateTemplate或HibernateDaoSupport来管理数据库连接和事务。Spring通过AOP在数据库操作周围创建事务边界,保证了数据的一致性。同时...
这个实现类继承自`HibernateDaoSupport`,利用Spring提供的`HibernateTemplate`简化了Hibernate的调用。`HibernateDaoSupport`内部封装了SessionFactory,提供了一些常用的数据访问操作方法。 ##### 3. ...
2. **Spring配置**:创建一个或多个XML配置文件(如applicationContext.xml),在这里声明Spring的bean,包括DataSource、SessionFactory、HibernateTemplate或HibernateDaoSupport等。同时,可以配置事务管理器以...
此外,为了方便使用,Spring提供了HibernateTemplate或HibernateDaoSupport类,它们提供了对Hibernate Session的一系列便捷操作。然而,更现代的做法是使用Spring Data JPA,它提供了一种更加简洁的API,允许开发者...
3. **DAO(Data Access Object)抽象**:Spring的HibernateTemplate和HibernateDaoSupport为编写DAO层代码提供了便利,简化了与Hibernate Session的交互。 4. **基于注解的配置**:Spring 3.0及以上版本支持基于...
在`applicationContext.xml`中配置Hibernate的DAO层,使用Spring的`HibernateTemplate`或`HibernateDaoSupport`。例如: ```xml ``` 在DAO实现类中注入SessionFactory,并使用`HibernateTemplate`进行数据库操作...
- Spring通过其`HibernateTemplate`或`HibernateDaoSupport`类简化了对Hibernate的操作,提供了事务管理。你可以定义一个Hibernate配置文件,其中包含数据源、SessionFactory等信息。 - 使用Spring的`...
同时,还需要配置Spring与Hibernate、Struts2的集成,如使用HibernateDaoSupport或HibernateTemplate。 2. **配置Hibernate**:创建Hibernate的配置文件,设置数据库连接参数,映射实体类到数据库表。Spring将根据...
5. 使用Spring管理Hibernate和iBatis:通过Spring的HibernateDaoSupport或SqlSessionTemplate来实现对持久层的调用。 6. 测试和调试:确保所有组件协同工作,处理可能出现的依赖冲突和配置问题。 这种集成方式的...
如果这些组件在初始化时发生冲突,可能需要调整初始化顺序或使用Spring的Hibernate整合模块(HibernateTemplate或HibernateDaoSupport)来统一管理。 在工具方面,IDEA或Eclipse等集成开发环境提供了依赖树视图,...
4. **Spring的HibernateTemplate或HibernateDaoSupport**:Spring提供了HibernateTemplate和HibernateDaoSupport类,用于简化Hibernate操作。在这个Demo中,可能会使用它们来封装数据访问操作。 5. **Entity(实体...