关于HibernateDaoSupport中的getHibernateTemplate().execute及executeFind方法
转自: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方法相关推荐
- oracle 触发器 execute immediate,过程、触发器、用户定义函数和批处理中使用的 EXECUTE IMMEDIATE...
过程.触发器.用户定义函数和批处理中使用的 EXECUTE IMMEDIATE EXECUTE IMMEDIATE 语句允许使用文字字符串(在引号中)和变量的组合来构建语句.例如,以下过程包含创建表的 ...
- mysql中Prepare、execute、deallocate的使用方法
mysql中Prepare.execute.deallocate的使用方法 PREPARE语句准备好一条SQL语句,并分配给这条SQL语句一个名字供之后调用.准备好的SQL语句通过EXECUTE命令执 ...
- python创建类的实例方法-Python中动态创建类实例的方法
简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...
- python 子图_python 实现在一张图中绘制一个小的子图方法
有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...
- thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法
本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $ ...
- android 异步刷新 方法,android应用中实现异步更新UI的方法有哪些
android应用中实现异步更新UI的方法有哪些 发布时间:2020-12-07 17:12:00 来源:亿速云 阅读:144 作者:Leah android应用中实现异步更新UI的方法有哪些?相信很 ...
- Python 中 异步协程 的 使用方法介绍
静觅 崔庆才的个人博客:Python中异步协程的使用方法介绍:https://cuiqingcai.com/6160.html Python 异步 IO .协程.asyncio.async/await ...
- Transfer Execute Redirect重定向方法介绍
一.Transfer Execute Redirect重定向方法介绍 1.Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向( ...
- Spring 中获取 request 的几种方法,及其线程安全性分析
概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等 ...
最新文章
- AC日记——丑数 codevs 1246
- Spring Boot2.x-05Spring Boot基础-使用注解完成依赖注入
- 神策数据企业服务解决方案重磅上线,构建全新 To B 企业运营体系
- zoj 3620 Escape Time II
- Qt::WindowType、Qt::WidgetAttribute各个标志含义汇总
- 集群NAS+SSD如虎添翼
- Java开发中遇到具有挑战的事_Java并发编程的挑战:遇到的问题及如何解决
- mysql performance tuning_MySQL Performance tuning
- 【Python】如何选择赋值和拷贝
- Android 之 Window、WindowManager 与窗口管理
- iOS 打电话 发短信功能的实现
- python语言程序设计二级教程pdf_二级python语言程序设计教程
- linux tree命令,Linux tree命令实例详解
- Ubuntu18.04与deepin+nvidia-docker的构建与踩坑+puppeteer在docker中的使用
- 删除字符串中的元音字母
- 刘永鑫报告|微生物组数据分析与科学传播(晚7点半)
- RS232转RS485的接口原理图(附图)
- 进击的海姆达尔Heimdallr,2021年链游最后一趟财富专列
- Android UI设计 下拉菜单Spinner用法 动态添加删除Spinner菜单项
- 推荐一个好的节拍器软件?3款App帮你成为节奏大师
热门文章
- Python __slots__ 作用
- Android中利用productFlavors配置多渠道
- C# TreeView 连续点击 不触发AfterCheck事件
- eclipse Android 开发基础 Activity 窗体 界面
- 《HTTP权威指南》 – 11.验证码和新鲜度
- 如何开始DDD(完)
- 我所遭遇过的中间件--VTK
- java扫描指定package注解_java随笔-扫描使用指定注解的类与方法
- ant引入html页面,antdesign 中 使用 iconfont symbol方式引入图标不展示
- signature=54cb1c123491dc1a268a21f3502cccfc,Modelling information routing with noninterference