`
qinglintan
  • 浏览: 38910 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

spring hibernatedaosupport hibernate

阅读更多

   在使用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的整合

    在 Spring 中使用 Hibernate 通常有两种方式:一是使用 HibernateTemplate 或 HibernateDaoSupport,另一种是直接使用 Hibernate 的原生 API。这里我们关注后者,通过 Spring 注入 SessionFactory 到 DAO 类中,然后...

    使用Struts + Spring + Hibernate完成用户登陆笔记

    * 使用Spring框架来实现依赖注入和AOP,例如使用Spring的HibernateDaoSupport来实现DAO层的开发。 六、系统优点 * 使用Struts、Spring和Hibernate三种技术可以实现一个灵活、可维护和高效的用户登陆系统。 * 系统...

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

    本示例主要介绍如何实现Spring Boot 2.0多数据源的集成,并结合Hibernate进行配置,特别是在DAO层使用`HibernateDaoSupport`进行操作,而非使用JPA(Java Persistence API)。 首先,让我们了解Spring Boot 2.0的...

    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变得更加方便。这些类会自动处理...

    Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    ### Struts2、Spring与Hibernate整合应用:学生成绩管理系统 #### 一、知识点概览 本项目聚焦于Struts2、Spring与Hibernate三大框架的整合应用,旨在构建一个高效、稳定、易于维护的学生成绩管理系统。通过整合这...

    Spring,Hibernate整合源码

    4. **HibernateTemplate与HibernateDaoSupport**:Spring提供了HibernateTemplate和HibernateDaoSupport,它们为DAO层提供了便捷的操作方法,如save、update、delete、find等,同时处理了事务和异常。 5. **JPA集成...

    spring和hibernate整合

    《Spring与Hibernate整合详解》 在现代Java Web开发中,Spring和Hibernate是两个非常重要的开源框架,它们分别在依赖注入和对象关系映射(ORM)领域有着广泛的应用。Spring作为一个全面的轻量级应用框架,提供了...

    JavaEE spring和Hibernate整合(没有hibernate.cfg.xml)

    在JavaEE开发中,Spring和Hibernate是两个非常重要的框架,它们分别负责应用的依赖管理和持久化数据。"SSH"是Struts、Spring和Hibernate的缩写,代表了经典的JavaEE三层架构模型:表现层(Struts)、业务逻辑层...

    spring3 hibernate3 整合

    3. **数据访问对象(DAO)**:Spring的DAO支持包括定义DAO接口和实现类,以及使用HibernateTemplate或HibernateDaoSupport作为基础类,简化与Hibernate Session的交互。 4. **实体管理**:在Hibernate中,实体类是...

    spring整合hibernate的jar包

    整合Spring和Hibernate时,通常会通过Spring的DataSource、SessionFactory和HibernateTemplate或HibernateDaoSupport来管理数据库连接和事务。Spring通过AOP在数据库操作周围创建事务边界,保证了数据的一致性。同时...

    Spring2 Hibernate3集成

    这个实现类继承自`HibernateDaoSupport`,利用Spring提供的`HibernateTemplate`简化了Hibernate的调用。`HibernateDaoSupport`内部封装了SessionFactory,提供了一些常用的数据访问操作方法。 ##### 3. ...

    spring +hibernate +maven 的案例

    2. **Spring配置**:创建一个或多个XML配置文件(如applicationContext.xml),在这里声明Spring的bean,包括DataSource、SessionFactory、HibernateTemplate或HibernateDaoSupport等。同时,可以配置事务管理器以...

    整合Spring + hibernate所需的jar包

    此外,为了方便使用,Spring提供了HibernateTemplate或HibernateDaoSupport类,它们提供了对Hibernate Session的一系列便捷操作。然而,更现代的做法是使用Spring Data JPA,它提供了一种更加简洁的API,允许开发者...

    Spring整合HIbernate

    3. **DAO(Data Access Object)抽象**:Spring的HibernateTemplate和HibernateDaoSupport为编写DAO层代码提供了便利,简化了与Hibernate Session的交互。 4. **基于注解的配置**:Spring 3.0及以上版本支持基于...

    使用MyEclipse下整合Spring和Hibernate

    在`applicationContext.xml`中配置Hibernate的DAO层,使用Spring的`HibernateTemplate`或`HibernateDaoSupport`。例如: ```xml ``` 在DAO实现类中注入SessionFactory,并使用`HibernateTemplate`进行数据库操作...

    使用spring整合hibernate和struts时所要用到的所有jar包

    - Spring通过其`HibernateTemplate`或`HibernateDaoSupport`类简化了对Hibernate的操作,提供了事务管理。你可以定义一个Hibernate配置文件,其中包含数据源、SessionFactory等信息。 - 使用Spring的`...

    spring+hibernate+struts整合jar包

    同时,还需要配置Spring与Hibernate、Struts2的集成,如使用HibernateDaoSupport或HibernateTemplate。 2. **配置Hibernate**:创建Hibernate的配置文件,设置数据库连接参数,映射实体类到数据库表。Spring将根据...

    struts1+spring+hibernate+ibatis集成

    5. 使用Spring管理Hibernate和iBatis:通过Spring的HibernateDaoSupport或SqlSessionTemplate来实现对持久层的调用。 6. 测试和调试:确保所有组件协同工作,处理可能出现的依赖冲突和配置问题。 这种集成方式的...

    spring与hibernate的包冲突

    如果这些组件在初始化时发生冲突,可能需要调整初始化顺序或使用Spring的Hibernate整合模块(HibernateTemplate或HibernateDaoSupport)来统一管理。 在工具方面,IDEA或Eclipse等集成开发环境提供了依赖树视图,...

Global site tag (gtag.js) - Google Analytics