方法execute:

用于执行返回多个结果集、多个更新计数或二者组合的语句。

因为多数程序员不会需要该高级功能。execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。

当执行某个已存储过程 或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。因为方法 execute 处理非常规情况,所以获取其结果需要一些特殊处理并不足为怪。

例如,假定已知某个过程返回两个结果集,则在使用方法 execute 执行该过程后,必须调用方法 getResultSet 获得第一个结果集,然后调用适当的 getXXX 方法获取其中的值。要获得第二个结果集,需要先调用 getMoreResults 方法,然后再调用 getResultSet 方法。如果已知某个过程返回两个更新计数,则首先调用方法 getUpdateCount,然后调用 getMoreResults,并再次调用 getUpdateCount。

对于不知道返回内容,则情况更为复杂。如果结果是 ResultSet 对象,则方法 execute 返回 true;如果结果是 Java int,则返回 false。如果返回 int,则意味着结果是更新计数或执行的语句是 DDL 命令。在调用方法 execute 之后要做的第一件事情是调用 getResultSet 或 getUpdateCount。调用方法 getResultSet 可以获得两个或多个 ResultSet 对象中第一个对象;或调用方法 getUpdateCount 可以获得两个或多个更新计数中第一个更新计数的内容。

execute()方法相关推荐

  1. Java线程池中submit()和execute()方法有什么区别

    两个方法都可以向线程池提交任务,execute()方法的返回类型是void,它定义在Executor接口中,而submit()方法返回有计算结构的Future对象,它定义在ExecutorServic ...

  2. command对象提供的3个execute方法是_前阿里P9的Java面试重点3:多线程

    1. 并行和并发有什么区别? 并行:多个处理器或多核处理器同时处理多个任务. 并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行. 如下图: 并发 = ...

  3. 【Android 异步操作】线程池 ( 线程池 execute 方法源码解析 )

    文章目录 一.线程池 execute 方法源码解析 二.线程池 execute 方法完整源码及注释 一.线程池 execute 方法源码解析 进入 ThreadPoolExecutor 中 , 查看线 ...

  4. 【Android 异步操作】AsyncTask 异步任务 ( AsyncTask 异步任务执行方法 execute 方法相关源码解析 )

    文章目录 一.AsyncTask 异步任务执行方法 execute() 引入 二.AsyncTask 异步任务执行方法 execute() 三.sDefaultExecutor 线程池解析 四.exe ...

  5. 线程池中submit()方法与execute()方法的区别

    execute()方法实际上是Executor中声明的方法,在ThreadPoolExecutor进行了具体的实现,这个方法是ThreadPoolExecutor的核心方法,通过这个方法可以向线程池提 ...

  6. JdbcTemplate类中的execute方法

    使用execute方法建一张用户表,execute()方法里可以执行SQL语句. JdbcTemplateTest.java: package com.liu.jdbc;import org.spri ...

  7. command对象提供的3个execute方法是_并发面试题:java中有几种方法可以实现一个线程?...

    创建并启动线程的6种方式 继承Thread类创建线程 实现Runnable接口创建线程 使用Callable和FutureTask创建线程 使用线程池,例如用Executor框架 Spring实现多线 ...

  8. 血的教训--如何正确使用线程池submit和execute方法

    血的教训之背景:使用线程池对存量数据进行迁移,但是总有一批数据迁移失败,无异常日志打印 凶案起因 ​ 听说parallelStream并行流是个好东西,由于日常开发stream串行流的场景比较多,这次 ...

  9. Java线程池execute()方法源码解析

    先看作者给出的注释来理解线程池到底有什么作用 * Thread pools address two different problems: they usually * provide improve ...

  10. 线程池的submit和execute方法区别

    线程池中的execute方法大家都不陌生,即开启线程执行池中的任务.还有一个方法submit也可以做到,它的功能是提交指定的任务去执行并且返回Future对象,即执行的结果.下面简要介绍一下两者的三个 ...

最新文章

  1. TensorFlow练习26: AI操盘手
  2. IDEA中引用不到HttpServlet的解决方案
  3. boost::detail::allocator模块的测试程序
  4. java面试四 运算符测试
  5. Largest Rectangle in a Histogram (动态规划+奇思妙想单调栈)求最大矩状图面积
  6. day6_python之md5加密
  7. 【需求工程】需求依赖矩阵
  8. Java笔记-为客户端及服务端创建公私钥的密钥库
  9. 阿里云云计算 42 CDN中的常用名词
  10. 你肯定遇到过这些电脑使用问题, 此文帮你快速解决一些常见的电脑问题(持续更新中, 建议收藏)
  11. 设计模式介绍及Java描述
  12. 最近十年诞生的6种新编程语言
  13. 视觉问答06day[综述]:一文带你了解视觉问答VQA
  14. iPhone铃声制作软件iRingg for Mac
  15. Coggle推荐系统学习任务1:推荐系统基础
  16. 音乐伴奏如何提取?不容错过的几款软件
  17. CentOS7安装PHP开发环境1-源码安装Nginx
  18. β阶段第一周版本控制报告
  19. 华硕天选2/系列切换应用声音消失问题的解决方法
  20. 如何在 IDEA 中创建并部署 JavaWeb 程序

热门文章

  1. uboot distro_bootcmd 理解
  2. 2021年国内外离线下载服务全面评测与总结
  3. linux打开pkg文件怎么打开,archlinux32无法打开文件 ×××.pkg.tar.zst 无法安装新包,如何解决?...
  4. 二乘二(二阶)魔方教程,看完教程拼不出来我给你钱!
  5. 华为云计算认证为什么这么火,网络工程师必看云计算怎么学
  6. 5gh掌上云计算认证不通过_2018年阿里云ACP云计算认证多少分通过,怎么报名,如何参加考试...
  7. 突发奇想!自动化测试在测试过程中该怎样提升效率?
  8. (全网最全)律师如何有效获得案源?新律师开拓案源的方法有哪些?
  9. 《岳阳楼记》古文鉴赏
  10. 如何将windows桌面默认位置修改为D盘