`
stoneuu
  • 浏览: 46465 次
  • 性别: 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汇总

    executeFind 方法用于执行给定的 HibernateCallback 对象,用于在 Session 中执行查询操作。 HibernateTemplate 提供了许多实用的方法来简化 Hibernate 的使用,提高了数据库操作的效率和简洁性。本文对 ...

    hibernateTemplate的常用方法

    this.hibernateTemplate.bulkUpdate("update Teacher set name = ? where name = ?", new Object[]{newName, name}); } ``` - 注意:使用`bulkUpdate`时,会直接执行原生SQL,因此失去了Hibernate的一些特性(如...

    hibernateTemplate批量删除数据

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

    常用的BaseDAO及其实现

    其他方法的实现方式相似,都是通过HibernateTemplate执行HQL语句或sql语句来实现数据访问操作。 BaseDAO提供了统一的数据访问接口,封装了数据访问的基本操作,简化了数据访问的编程工作。BaseDAO的实现可以通过...

    HibernateTemplate详细描述以及使用范围

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

    HibernateTemplate源代码

    - **execute**:这是`HibernateTemplate`的核心方法,它执行由`HibernateCallback`接口定义的数据访问操作,并将Hibernate抛出的异常转换为Spring的数据访问异常。 ```java public <T> T execute...

    HbernateTemplate的使用.pdf

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

    HibernateTemplate的用法总结

    3. **`List find(String queryString)`**:执行HQL查询语句并返回结果列表。这是一个非常灵活且强大的方法,可以满足各种复杂的查询需求。 4. **`List findByNamedQuery(String queryName)`**:根据命名查询执行HQL...

    hibernateTemplate

    `HibernateTemplate`提供了多种方法来执行基本的数据库操作: - **增加**:`save(Object entity)` 方法用于保存一个新的持久化实例。 - **删除**: - `void delete(Object entity)`:用于删除指定的持久化实例。 ...

    HibernateTemplate的方法使用

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

    HibernateTemplate 的常规用法.doc

    HibernateTemplate提供了丰富的API,可以实现对数据库的基本操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)等。以下是一些常用的方法: 1. `void delete(Object entity)`: 这个方法用于...

    HibernateTemplate分组统计

    - `hibernateTemplate.execute()`方法用于执行自定义的Hibernate操作。这里传入了一个实现了`HibernateCallback`接口的匿名内部类,该类的`doInHibernate`方法定义了具体的数据库操作逻辑。 ##### 2. 处理查询结果 ...

    HibernateTemplate类的使用

    本文将详细介绍`HibernateTemplate`的基本概念、工作原理以及如何正确使用它来执行事务管理。 #### 二、HibernateTemplate概述 `HibernateTemplate`是Spring提供的一个用于操作Hibernate的高级抽象层。它封装了许多...

    关于使用HibernateTemplate

    3. **异常处理**:当使用`HibernateTemplate`执行数据库操作时,它会自动捕获并处理Hibernate抛出的各种异常,从而减轻了开发者在异常处理上的负担。 #### 三、声明式事务管理 `HibernateTemplate`支持声明式事务...

    HibernateTemplate的简单示例

    HibernateTemplate的简单示例

    spring hibernatetemplate

    在`HibernateTemplate`中执行事务操作通常涉及到`execute`方法,该方法接受一个实现了`HibernateCallback`接口的匿名类实例作为参数。`HibernateCallback`的`doInHibernate`方法会在Hibernate的Session上下文中执行...

    SSH2增删改查使用HibernateTemplate

    DataSource用于连接数据库,SessionFactory是Hibernate的核心接口,而HibernateTemplate则是Spring对SessionFactory的封装,提供了一种模板方法模式来执行常见的Hibernate操作。 ```xml <!-- 数据库连接配置 --> ...

    hibernateTemplate常用方法.htm

    hibernateTemplate常用方法.htm

Global site tag (gtag.js) - Google Analytics