`
qinglintan
  • 浏览: 38340 次
  • 性别: 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

分享到:
评论

相关推荐

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

    springboot2.0多数据源集成hibernate配置hibernateDaoSupport, dao层继承hibernateDaoSupport, 不使用jpa方式。

    第24次课-1 Spring与Hibernate的整合

    Spring为与Hibernate进行整合,提供了一个工具类HibernateDaoSupport HibernateDaoSupport提供了基于AOP事务的自动处理,程序员完全可以不用理会事务的开始与提交,它会自动完成SessionFactory的注入和事务的注入。 ...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    6.Hibernate继承 HibernateDaoSupport。 7.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 2)Demo 导入说明: 1.Eclipse Encoding:GBK 2.Eclipse 导入后可能需要在 Xml Catalog 手动添加:ehcache-...

    spring-hibernate3.jar

    其中包含有org.springframework.orm.hibernate3.support.HibernateDaoSupport.class,

    Spring4.0+Hibernate4.0+Struts2.3整合案例

    1、Spring 3.x 对 Hibernate 4.x 不提供 HibernateDaoSupport,所以在dao的实现层注入SessionFactory 2、报错:org.hibernate.HibernateException: No Session found for current thread 意思是必须在...

    Spring+Hibernate实现增删改查的两种方法

    Spring+Hibernate实现增删改查的两种方法,HibernateTemplate实现和HibernateDaoSupport实现

    Spring整合Hibernate 详解.doc

    6.5 Spring整合Hibernate 6.6 Spring提供的DAO支持 6.5.2 管理Hibernate的SessionFactory 6.5.3 使用HibernateTemplate 6.5.4 使用HibernateCallBack 6.5.6 使用IoC容器组装各种组件 6.5.7启动web容器读取xml配置...

    spring-boot 集成hibernate

    spring-boot 集成hibernate,使用druid数据库连接池,dao继承HibernateDaoSupport 的实现,

    ssh(structs,spring,hibernate)框架中的上传下载

     TfileDAOHibernate通过扩展Spring提供的Hibernate支持类HibernateDaoSupport而建立,HibernateDaoSupport封装了HibernateTemplate,而HibernateTemplate封装了Hibernate所提供几乎所有的的数据操作方法,如execute...

    Spring_Hibernate集成

    * 继承HibernateDaoSupport类,使用HibernateTemplate来持久化,HibernateTemplate是 Hibernate Session的轻量级封装 * 默认情况下运行期异常才会回滚(包括继承了RuntimeException子类),普通异常是不会滚的 ...

    Spring2.5和Hibernate3集成--学习spring aop ioc

    Spring2.5和Hibernate3集成 采用声明式事务 1.声明式事务的配置 * 配置sessionFactory * 配置事务管理器 * 配置事务的传播特性 * 配置哪些类哪些方法使用事务 2.编写业务逻辑方法 * 继承...

    HibernateDaoSupport 源码

    Spring hibernate3. HibernateDaoSupport 源码

    Spring4整合Hibernate5详细步骤

    本篇文章主要介绍了Spring4整合Hibernate5详细步骤,具有一定的参考价值,有兴趣的同学可以了解一下

    java大作业基于SSH框架的学生成绩管理系统源码.zip

    (1) 整合Struts2、Spring和Hibernate框架 (2) 实现“登录”功能 (3) 实现“学生信息管理”功能 (4) 实现“学生成绩管理”功能 (5) 实现分页功能 目的: 掌握Struts2的开发步骤 掌握Hibernate的开发...

    重写Spring的HibernateDaoSupport 简化Dao层写法

    NULL 博文链接:https://wxinpeng.iteye.com/blog/1162157

    struts2.3.x+spring3.1.x+hibernate3.6 demo

    关键问题有几个,第一个HibernateDaoSupport这个没有了,在使用hibernateTemplate的时候,报错误:java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session 很是悲...

    Spring的学习笔记

    一、 Spring配置hibernate3的SessionFactory 30 (一) xml形式的SessionFactory 30 (二) annotation注解方式的SessionFactory 30 二、 引入hibernate所需要使用的jar 31 (一) 基本jar 31 (二) 加入annotation功能的...

    Spring面试题含答案.pdf

    47.如何通过 HibernateDaoSupport 将 Spring 和 Hibernate 结合起来? 48. Spring 支持的事务管理类型 49. Spring 框架的事务管理有哪些优点? 50. 你更倾向用那种事务管理类型? 51. 解释 AOP 52. Aspect 切面 53. ...

    spring2.5 学习笔记

    一、 Spring配置hibernate3的SessionFactory 30 (一) xml形式的SessionFactory 30 (二) annotation注解方式的SessionFactory 30 二、 引入hibernate所需要使用的jar 31 (一) 基本jar 31 (二) 加入annotation功能的...

Global site tag (gtag.js) - Google Analytics