`
Ben.Sin
  • 浏览: 234195 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HibernateCallback-匿名内部类的应用

阅读更多

HibernateCallback是Spring提供Hibernate模板类HibernateTemplate的一个接口

 

名义上理解,这是一个回调接口,一般就会联想到匿名内部类。

 

举个简单的例子,根据用户ID查询出用户的信息

 

	@SuppressWarnings("unchecked")
	public List<User> hibernateCallbackDemo(final String userId){
		final String HQL = "from User where userId = :userId";
		
		return getHibernateTemplate().execute(new HibernateCallback(){
			
			public List<User> doInHibernate(final Session session) {
				final Query query = session.createQuery(HQL);
				query.setString("userId", userId);
				return query.list();
			}
		});
	}

 

(未完)

 

 

 

分享到:
评论

相关推荐

    HibernateCallback使用方法

    HibernateCallback 使用方法 HibernateCallback 是 Hibernate 框架中的一种 callback 机制,允许开发者在持久层访问时执行自定义操作。HibernateCallback 是 Spring 框架中与 Hibernate 整合的重要组件,通过它可以...

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

    通常,程序中采用实现HibernateCallback的匿名内部类来获取HibernateCallback的实例,方法doInHibernate()就是Spring执行的持久化操作。 24.3 Spring对Hibernate的简化 24.3.5 HibernateDaoSupport Spring为与...

    HibernateTemplate源代码

    `HibernateTemplate`通过其核心方法`execute`支持Hibernate访问代码的实现,该方法接受一个实现了`HibernateCallback`接口的匿名内部类或Lambda表达式。 #### 二、类结构与继承关系 `HibernateTemplate`类本身并...

    Hibernate+Spring+Struts2整合开发中的一个分页显示方案参考.pdf

    在`queryForPage`方法中,通过`HibernateTemplate`的`executeFind`方法,我们可以传递一个`HibernateCallback`实例,该回调内部创建`Query`对象并设置分页参数`setFirstResult`和`setMaxResults`。`getAllRowCount`...

    Struts2,hibernate,Spring分页方法

    在`MemberDaoImpl`实现类中,我们利用`HibernateTemplate`的`executeFind`方法,通过传入一个实现了`HibernateCallback`接口的匿名内部类来执行HQL查询,并设置分页参数。 2. `getAllRowCount`:此方法用于获取满足...

    SSH整合开发中的分页显示

    在DAO层的实现类`MemberDaoImpl`中,`queryForPage`方法利用`HibernateTemplate`的`executeFind`方法,通过传入一个`HibernateCallback`的匿名内部类来执行HQL,并设置分页参数`setFirstResult`和`setMaxResults`。...

    HibernateTemplate分组统计

    这里传入了一个实现了`HibernateCallback`接口的匿名内部类,该类的`doInHibernate`方法定义了具体的数据库操作逻辑。 ##### 2. 处理查询结果 ```java List list = smokeEventServer.everyDaySmoke(); for (Object...

    HibernateTemplate类的使用

    ### HibernateTemplate类的使用详解 #### 一、引言 在Java开发中,持久层框架Hibernate因其优秀的ORM(Object-Relational Mapping)特性被广泛应用。为了更便捷地使用Hibernate,Spring框架提供了一系列工具类来简化...

    常用的HQL语句下载

    另一种格式(第10-16行)展示了如何在一个匿名内部类中使用`HibernateCallback`接口执行删除操作,这种方式在处理更复杂的逻辑时更为灵活。 3. **HQL单表查询**: HQL可以轻松地执行针对单个表的查询。第19行的HQL...

    HbernateTemplate的使用.pdf

    HibernateTemplate是Spring框架中用于简化Hibernate操作的一个工具类,它提供了对Hibernate ORM的便捷封装,使得开发者无需直接操作Session,可以更加专注于业务逻辑。在Spring 2.0及更高版本中,HibernateTemplate...

    hibernate-distribution-3.6.8.Final

    它们可以通过继承Hibernate的`Serializable`接口或实现`HibernateCallback`接口来实现持久化。 5. **Session接口**:Session是Hibernate的主要工作单元,负责对象的持久化操作,如保存、更新、删除和查询。它是线程...

    Spring整合Hibernate 详解.doc

    Spring通过提供一系列的DAO抽象类,如HibernateDaoSupport,HibernateTemplate以及HibernateCallBack,使得开发者可以更方便地实现DAO组件。这些抽象类作为DAO实现类的基类,降低了开发难度,确保了代码的一致性和可...

    SSH整合文档

    Spring允许我们使用`HibernateDaoSupport`作为基类,这个类提供了对SessionFactory的便捷访问。我们需要在Spring配置文件中为每个DAO定义一个bean,并注入SessionFactory。 ```xml ``` 在DAO中,我们可以...

    spring整合hibernate

    3. **模板方法模式**:Spring 为 Hibernate 提供了三种主要的支持方式:`HibernateDaoSupport`、`HibernateTemplate` 和 `HibernateCallback` 接口。其中,`HibernateTemplate` 是一个非常实用的工具类,它可以简化 ...

    struts2.3+spring3.1.2+hibernate4.1.6 配置说明

    值得注意的是,Hibernate 4.1.6版本不再包含`HibernateTemplate`、`HibernateCallback`以及`HibernateDaoSupport`等类。这些类在旧版本中用于简化数据库操作,但在新版本中,开发者需要进行相应的替换。例如,可以...

    Spring对DAO的支持.doc

    - **HibernateCallback**:定义了一个回调接口,允许在事务内部执行自定义的Hibernate操作。 通过使用HibernateTemplate,开发者可以专注于业务逻辑,而无需关注底层的SessionFactory和Session管理。 总结来说,...

    基于hibernate实现的分页技术

    return this.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(...

    hibernate+spring实现分页

    - 利用Spring的 `HibernateCallback` 来执行特定的数据库操作。 #### 四、具体实现 1. **PageBean类**: ```java public class PageBean { private int count = 0; private int pageSize = 20; private int ...

    struts2和spring整合

    在这个例子中,`HibernateCallback`接口用于封装具体的Hibernate操作,`doInHibernate`方法内部实现了具体的业务逻辑。 #### 三、总结 将Struts2与Spring框架整合,不仅可以提升系统的整体性能和可扩展性,还能...

Global site tag (gtag.js) - Google Analytics