转自:https://blog.csdn.net/angus_17/article/details/8501668

1.

这两个方法都是为了Spring在接管Hibernate之后,可以对HibernateDaoSupport进行灵活的扩展而用的。

二者的主要区别在于,execute返回的是一个Object,而executeFind方法返回的是一个List.

//使用executeFind
protected void deleteByVehicleId(final int vehicleId) throws Exception {
 try {
 this.getHibernateTemplate().executeFind(
 new HibernateCallback() {
 public Object doInHibernate(Session session) throws HibernateException, SQLException {
 Query q = session.createQuery("delete from Vehicle v where v.id=" + vehicleId );
 q.executeUpdate();
 return null;
 }
 });
 } catch (Exception e) {
 throw e;
 }
}

//使用execute
public String updateScreen(final int screenId,final String configStr){
Object o = getHibernateTemplate().execute(new HibernateCallback() {

public Object doInHibernate(Session session) throws HibernateException, SQLException {
SQLQuery query = session.createSQLQuery("update HPS_ParkingLotScreen  set config_Str='" + configStr + "' where id=" +screenId);
try{
int ii = query.executeUpdate();
System.out.println(ii);
return "success";
}catch (Exception e) {
e.printStackTrace();
}
return "fail";
}
});
return o.toString();
}

另外,在new HibernateCallback的内部类的doInHibernate方法中,它的返回值,就是execute或executeFind方法的返回值。

转载于:https://www.cnblogs.com/sharpest/p/7295649.html

关于HibernateDaoSupport中的getHibernateTemplate().execute及executeFind方法相关推荐

  1. oracle 触发器 execute immediate,过程、触发器、用户定义函数和批处理中使用的 EXECUTE IMMEDIATE...

    过程.触发器.用户定义函数和批处理中使用的 EXECUTE IMMEDIATE EXECUTE IMMEDIATE 语句允许使用文字字符串(在引号中)和变量的组合来构建语句.例如,以下过程包含创建表的 ...

  2. mysql中Prepare、execute、deallocate的使用方法

    mysql中Prepare.execute.deallocate的使用方法 PREPARE语句准备好一条SQL语句,并分配给这条SQL语句一个名字供之后调用.准备好的SQL语句通过EXECUTE命令执 ...

  3. python创建类的实例方法-Python中动态创建类实例的方法

    简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...

  4. python 子图_python 实现在一张图中绘制一个小的子图方法

    有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...

  5. thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法

    本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $ ...

  6. android 异步刷新 方法,android应用中实现异步更新UI的方法有哪些

    android应用中实现异步更新UI的方法有哪些 发布时间:2020-12-07 17:12:00 来源:亿速云 阅读:144 作者:Leah android应用中实现异步更新UI的方法有哪些?相信很 ...

  7. Python 中 异步协程 的 使用方法介绍

    静觅 崔庆才的个人博客:Python中异步协程的使用方法介绍:https://cuiqingcai.com/6160.html Python 异步 IO .协程.asyncio.async/await ...

  8. Transfer Execute Redirect重定向方法介绍

    一.Transfer Execute Redirect重定向方法介绍 1.Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向( ...

  9. Spring 中获取 request 的几种方法,及其线程安全性分析

    概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等 ...

最新文章

  1. AC日记——丑数 codevs 1246
  2. Spring Boot2.x-05Spring Boot基础-使用注解完成依赖注入
  3. 神策数据企业服务解决方案重磅上线,构建全新 To B 企业运营体系
  4. zoj 3620 Escape Time II
  5. Qt::WindowType、Qt::WidgetAttribute各个标志含义汇总
  6. 集群NAS+SSD如虎添翼
  7. Java开发中遇到具有挑战的事_Java并发编程的挑战:遇到的问题及如何解决
  8. mysql performance tuning_MySQL Performance tuning
  9. 【Python】如何选择赋值和拷贝
  10. Android 之 Window、WindowManager 与窗口管理
  11. iOS 打电话 发短信功能的实现
  12. python语言程序设计二级教程pdf_二级python语言程序设计教程
  13. linux tree命令,Linux tree命令实例详解
  14. Ubuntu18.04与deepin+nvidia-docker的构建与踩坑+puppeteer在docker中的使用
  15. 删除字符串中的元音字母
  16. 刘永鑫报告|微生物组数据分析与科学传播(晚7点半)
  17. RS232转RS485的接口原理图(附图)
  18. 进击的海姆达尔Heimdallr,2021年链游最后一趟财富专列
  19. Android UI设计 下拉菜单Spinner用法 动态添加删除Spinner菜单项
  20. 推荐一个好的节拍器软件?3款App帮你成为节奏大师

热门文章

  1. Python __slots__ 作用
  2. Android中利用productFlavors配置多渠道
  3. C# TreeView 连续点击 不触发AfterCheck事件
  4. eclipse Android 开发基础 Activity 窗体 界面
  5. 《HTTP权威指南》 – 11.验证码和新鲜度
  6. 如何开始DDD(完)
  7. 我所遭遇过的中间件--VTK
  8. java扫描指定package注解_java随笔-扫描使用指定注解的类与方法
  9. ant引入html页面,antdesign 中 使用 iconfont symbol方式引入图标不展示
  10. signature=54cb1c123491dc1a268a21f3502cccfc,Modelling information routing with noninterference