`
stoneuu
  • 浏览: 48197 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HibernateTemplate执行update语句 HibernateCallBack

 
阅读更多

摘自网上,主要是用HibernateCallBack来实现以hibernate方式执行

 

下面将为您介绍在HibernateTemplate里执行的两种SQL语句,一种执行非Select语句的情况,以及一种执行Select语句的情况,供您参考,希望对您有所启迪。

 

如下所示只能执行非Select语句;

 

public static void executeSQL(HibernateTemplate hibernateTemplate,

String sql)

{

final String tempsql = sql;

hibernateTemplate.execute(new HibernateCallback()

{

public Object doInHibernate(Session session)

throws HibernateException

{

session.createQuery(tempsql).executeUpdate();

return null;

}

});

}

 

若要执行Select则用session.createQuery(tempsql).list();

 

此处final String tempsql = sql;必须为final 表示tempsql不可以修改;

 

 

内联类的要求;

 

public Object doInHibernate(Session session)返回Object等于hibernateTemplate.execute(new HibernateCallback()的返回,可以通过查看源代码看的出来;

 

下面是执行select语句的情况:

 

return (List)hibernateTemplate.execute(new HibernateCallback()

 

{

 

public Object doInHibernate(Session session)

 

throws HibernateException

 

{

 

List list=session.createQuery(tempsql).list();

 

return list;

 

}

 

});

 

分享到:
评论

相关推荐

    hibernate执行原生sql语句

    在上面的代码中,我们使用 `HibernateCallback` 接口来执行原生 SQL 语句,该接口提供了一个 `doInHibernate()` 方法,该方法将在 Hibernate 事务中执行。我们可以在该方法中执行原生 SQL 语句,并使用 `Connection`...

    hibernateTemplate批量删除数据

    对于批量删除数据,`HibernateTemplate`提供了`bulkUpdate()`方法,该方法通过执行SQL语句或HQL(Hibernate查询语言)来高效地处理大量数据的删除操作,避免了逐条删除所带来的性能瓶颈。 ### 批量删除操作详解 在...

    HibernateTemplate详细描述以及使用范围

    3. **批处理操作**:支持批量执行SQL语句,优化数据库访问性能。 4. **自定义查询**:支持HQL(Hibernate Query Language)和原生SQL查询。 #### 三、HibernateTemplate的初始化与配置 `HibernateTemplate`可以...

    HbernateTemplate的使用.pdf

    HibernateTemplate还提供了诸如`executeFind(HibernateCallback)`用于执行带参数的HQL查询,`update(String sql, Object[] args)`用于执行SQL更新语句等功能,以及对事务处理的支持。 综上,HibernateTemplate是...

    HibernateTemplate的方法使用

    - **功能**:执行 HQL 查询语句,返回查询结果。 - **示例代码**: ```java List<User> users = template.find("from User u where u.age > ?"); ``` 5. **findByNamedQuery(String queryName)**: - **功能*...

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

    Spring提供的持久层访问的方式,无须显式地打开和关闭Session,也无须在代码中执行任何的事务操作语句。 Spring提供了HibernateTemplate,用于持久层访问。它只要获得SessionFactory的引用,就可以智能地打开Session...

    hibernate API

    虽然`HibernateTemplate`提供了很多便利,但它在处理复杂查询时可能需要创建内部类(inner class),如在分页查询时使用`execute(HibernateCallBack)`,这可能会增加调试的复杂性。相比之下,直接使用`Session`进行...

    Hibernate方法总结

    例如,`bulkUpdate`方法可以直接执行SQL更新或删除语句,极大提高了效率。需要注意的是,批量操作后,由于对象可能在Hibernate的缓存中,所以需要手动清除缓存以保持数据一致性。 E. `execute`: 这是一个核心方法...

    SSH整合技术

    在实现分页查询时,需要注意的是,要在HibernateCallback的`doInHibernate`方法中编写HQL语句或Criteria查询,通过Session创建Query对象,然后设置分页参数(如`setFirstResult`和`setMaxResults`),最后执行查询。...

Global site tag (gtag.js) - Google Analytics