在JDBC中调用存储过程 首先就要在数据库中存在 要调用的过程  ,存储过程是一组SQL语句的集合,我们吧实现某一功能的 SQL语句集合在一起来使用,方便了用户,不光是这样,存储过程可以预编译,也就是说只要调用了一次存储过程,那么下次在调用存储过程的时候 就不需要进行再次编译了  。提高了 数据库访问的效率 。。

在 SQL  SERVER20008  中创建存储过程    语法如下

Create   Procedure   过程名字(@parameter1  int ,@parameter2  char(10) .........)    as       <SQL命令>

例子:

Create  Procedure  a  as  select  *  from  info   //  创建了存储过程 a  表示查询 info表的所有数据

在 JDBC中调用   方法   。。。

Connection  c =DriverManager.getConnection("jdbc:odbc:datasoure") ;  //连接数据库

CallableStatement  m=c.prepareCalle("call p(?,?)") ;  //创建CallableStatement对象  并传递存储过程调用 的SQL执行语句    ?表示 JDBC存储过程参数的通用格式

m.setString(1,"one");

m.setString(2."two");  //分别设置第一个参数?和第二个参数?的值

然后调用  m.executeUpdate() ;//执行存储过程

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在JDBC操作中 我们还记得  Connection的 commit方法 吗?   这个方法 是提交SQL命令 ,默认状态下是自动提交  .也就是说 不用我们 显示的去调用这个方法来提交SQL命 令  。

在一般的  SQL  查询 更新删除 等操作的时候 我们不用去设置它的状态,自动提交就行 。但是在事务中,我们不得不用到 commit方法手动提交 ,关于什么事务 下面我详细说   明  ....

事务?其实就是几个SQL语句的组合 ,但是这个组合有特性 ,就是他们有原子性?什么是原子性呢 ,就是 事务中的 SQL操作要么都执行 ,要么 一个也不执行 ,这就是事务的概念 ,  什么时候用到事务呢 ,比如说 我们 在处理银行转账服务的同时 是一个账号 扣钱  一个账户加钱, 这两个操作只能同时进行 ,但却不能一个执行而另一个不执行,事务的用处在银行转账得到了很好的体现。。。。。。

事务的处理 我们就不能用自动提交模式了 ,

1、我们需要调用  Connection类的  setAutoCommit(false)方法设置模式为手动提交,设置了这个模式之后我们调用 executeUpdate等方法执行的SQL命令都不会提交

除非我们显示调用了Connection类的 commit()方法 。

2、如果在事务处理当中 某一条件不符合的时候 我们就可以调用  Connection类的 rollBack()函数回滚事务  ,取消之前所作的一切事务操作 ,

转载于:https://www.cnblogs.com/yuedongwei/archive/2011/12/02/4145575.html

JDBC调用存储过程,以及存储过程 事务的使用.....相关推荐

  1. jdbc批量调用oracle存储过程,oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作...

    jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...

  2. Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL

    Oracle 存储过程学习 目录 Oracle 存储过程........................................................................ ...

  3. mysql jdbc 创建存储过程_mysql JDBC 调用存储过程

    与oracle不同,mysql不支持匿名块,如果需要写过程语句,则必需定义存储过程.如果你会oracle的存储过程,那么mysql的存储过程也很简单了. 一.创建存储过程 create procedu ...

  4. jdbc调用存储过程的方法

    ----------------------------jdbc调用存储过程的方法--------------------------------------------------- private ...

  5. JDBC对MySQL数据库存储过程的调用

    一.MySQL数据库存储过程: 1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完毕特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中.用 ...

  6. DM8 jdbc调用存储过程传参list<实体类>

    DM8 jdbc调用存储过程传参list<实体类> 一.前提 jdbc的连接串参数prepareOptimize,表示是否对预编译SQL做优化,取值true/false,默认false不开 ...

  7. 创建oracle的存储过程,以及通过JDBC调用该存储过程

    一.创建存储过程 create or replace procedure mwp_jgdx_dxxm_batchcopy ( srcxmid in varchar, --项目ID字符串 bbjlid ...

  8. 不是操作系统的是JAVA_在Jdbc中可以调用数据库的存储过程的接口是( )。

    [多选题]下面属于AWT事件的高级事件的是(). [其它]1.1000字的故事梗概.是整个电视剧的总体梗概. 2.列出每条情节线的事件 3.核心人物的人物小传,每个人物500字 4.以Word附件的形 ...

  9. jdbc调用存储过程

    jdbc调用存储过程 使用mysql数据库 在mysql中选择好数据库(我的mysql版本是8.0.25) 创建一个存储过程 # 在MySQL中每行命令都是用":"结尾,回车后自动 ...

  10. 使用jdbc调用存储过程

    存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中通过JDBC调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接( ...

最新文章

  1. python使用fpdf生成发票格式的pdf文件包含:文字、图片logo、表格、条形码等;
  2. 全球有多少 C/C++ 程序员?Java 和 Python 又有多少?
  3. windows下带超时的telnet探测IP和端口
  4. TorgoiseGit配置ssh密钥
  5. 基于事件驱动架构构建微服务第14部分:查询API
  6. 移动流量转赠给好友_私域流量的五大认知误区
  7. MySQL实战—更新过程
  8. dedecms后台崩溃或者后台访问慢的解决方法
  9. 医学方面的创业计划书_医学生创业计划书
  10. visio2010画图
  11. 王者荣耀ai视频战报ai剪辑生成方法
  12. 使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用
  13. 百度为手游盛世添把火
  14. 法力无边的stage-0
  15. 一级计算机考试报名 全国计算机一级报名考试入口官网
  16. 【数据库】MySQL 加锁处理分析
  17. Selenium WebDriver(1)——入门篇
  18. 如何选相应的尺寸码数
  19. 今日学习在线编程题:余数之和
  20. Windows软件之步骤记录器

热门文章

  1. 中国高校改名发展史:改了名,我们就是一流大学了
  2. ACL2020 | 什么时候值得用BERT上下文嵌入
  3. 用Siamese和Dual BERT来做多源文本分类
  4. 谈谈这一两年的成长 | 读研一年半,靠学习收入四十多万 !
  5. ともだちいじょう、こいびとみまん
  6. PyTorch学习—9.模型容器与AlexNet构建
  7. 基于DEAP库的python进化算法-3.简单遗传算法的实现
  8. Flink+Alink,当大数据遇见机器学习! 博文视点Broadview 前天
  9. 与TensorFlow类似的项目有哪些?TensorFlow的优缺点是什么?
  10. .NET的托管堆中是否可能出现内存泄漏现象