`

在JAVA中调用存储过程、并将结果取出来一例

阅读更多
1)、编写在seq_block取应表的流水号、并将该流水号在取完之后加一、如果没有存在指定的表的时候加放与该表名对应的记录的存储过程:

create procedure getIdxByTablename(@tablename varchar(50),@outIdx int output)

as 

begin

 declare @idx int

 declare @currentTableRecord int

 select @currentTableRecord=count(*) from seq_block where name=@tablename

 if @currentTableRecord=0--如果要查的表的idx不存在,就插入该记录,并设值为,返回

  begin

   insert into seq_block(name,idx) values(@tablename,2)

   set @outIdx=1;

  end

 else--如果存在就正常操作

  begin

   select @idx=idx from seq_block where name=@tablename

   update seq_block set idx=(@idx+1) where name=@tablename

   set @outIdx=@idx

  end 

End


注:表结构为:

name(varchar)|idx(int)

2)、编写调用的业务逻辑,该业务逻辑可将取得的对应表的流水号,并将其赋给指定的节点:

 public static int getNextSequenceNumber(Document doc, BizContext param) throws Exception{

// 设置赋值节点

  Node node = (Node) param.getParaObjectAt(0);

// 取得要取idx的表名

  String tablename = (String) param.getParaObjectAt(1);

// 执行存储过程的SQL语句

  String strSQL = "{call getIdxByTablename(?,?)}";

// 取得数据库连接

  PersistenceBroker persistencebroker = param.getDBBroker();

  Connection conn = persistencebroker.getConnection();

  CallableStatement cst; // 可调用语句对象

  // 准备可调用语句对象

  cst = conn.prepareCall(strSQL);

  // 设置输入参数

  cst.setString(1, tablename);

  // 登记输出参数

  cst.registerOutParameter(2, java.sql.Types.VARCHAR);

  // 执行该存储过程

  cst.execute();

  BNXmlUtil.setNodeValue(node,cst.getString(2));//设置节点值 

  return 1;

 }
分享到:
评论

相关推荐

    JAVA调用ORACLE存储过程

    在 Java 中调用存储过程 接下来,在 Java 中调用上述存储过程,实现如下: ```java public class TestProcedure { Connection conn = null; CallableStatement cstmt = null; String url = "jdbc:oracle:thin:@...

    JAVA存储过程講義與範例

    该文件很可能是展示如何在JAVA中调用存储过程的一个示例程序。它可能包含以下关键部分: - 加载数据库驱动,建立数据库连接。 - 创建CallableStatement对象,设置存储过程的参数。 - 执行存储过程并处理返回的结果...

    JAVA调用存储过程.txt

    根据提供的文件信息,本文将详细解析如何在Java中调用数据库中的存储过程。这涉及到Java与数据库之间的交互,主要利用了Java的JDBC(Java Database Connectivity)技术来实现这一目标。 ### Java调用存储过程的基本...

    在Java中如何调用存储过程.pdf

    本文将详细解释如何在Java中调用存储过程,并通过两个示例来演示具体步骤。 首先,我们需要了解存储过程的几种基本类型: 1. **无参数无返回值**:这类存储过程通常用于执行一些不返回结果的操作,如数据的插入、...

    java中存储过程的调用

    #### 在Java中调用存储过程 接下来,我们将在Java程序中调用上面创建的存储过程: ```java import java.sql.Connection; import java.sql.CallableStatement; import java.sql.SQLException; public class ...

    Hibernate存储过程的调用

    本文将详细介绍如何在Hibernate框架下调用存储过程,并以Oracle数据库中的`batchUpdateStudent()`存储过程为例进行讲解。 #### 二、存储过程的优势 存储过程直接在数据库服务器上执行,与应用程序分离,具有以下...

    Spring Data JPA调用存储过程实例代码

    为了在Spring Data JPA 中调用存储过程,我们需要创建一个Repository接口,继承自 `CrudRepository` 并添加相应的方法。每个方法对应一个存储过程,通过 `@Procedure` 注解指定存储过程名称,而方法参数对应存储过程...

    斯坦福的句法分析器及在java中调用的源代码

    在Java中调用斯坦福句法分析器通常涉及以下步骤: 1. **加载模型**:句法分析器需要预先训练好的模型才能进行句法分析。对于不同的语言(例如本例中的汉语和英语),有对应的模型文件。这些模型文件通常以`.gz`或`....

    hibernate调用存储过程[参考].pdf

    然而,有时我们可能需要使用到数据库的存储过程,这时就需要知道如何在Hibernate中调用它们。以下是一个详细的教程,演示了在Hibernate 3.0中调用MySQL 5.0存储过程的步骤。 首先,我们需要在数据库中创建测试表和...

    java swing连接数据库以及三个jar包

    在Java Swing应用中,你可能将这些数据库操作封装到特定的类或方法中,然后在事件处理器(如按钮点击事件)中调用它们。例如,用户在界面上输入数据并点击“保存”按钮时,你可以读取输入,构建SQL语句,执行保存...

    oracle如何使用java source调用外部程序

    总的来说,通过Java Source在Oracle中调用外部程序,可以实现数据库与外部世界的交互,扩展Oracle的功能,满足各种复杂的需求。在设计这类解决方案时,应充分考虑性能、安全和稳定性,确保系统的可靠运行。

    java代码-1.定义一个一维数组,求出数组的最大值,最小值,平均值。

    最后,我们可以在主函数(`main`方法)中调用这些计算过程,并打印结果: ```java public static void main(String[] args) { int[] numbers = { /* 初始化数组 */ }; int maxValue = findMax(numbers); int ...

    基于JAVA的短信验证码api调用代码实例

    总的来说,Java中调用短信验证码API涉及到网络通信、HTTP请求、JSON解析等多个方面,理解这些基本概念和操作是开发过程中不可或缺的部分。通过以上代码示例,你可以快速地实现一个简单的短信验证码发送功能,但要...

    支持调用后置摄像头录制视频.zip

    以下是关于如何在Android中调用后置摄像头录制视频的详细知识讲解: 1. **权限声明**: 在AndroidManifest.xml文件中,你需要添加以下权限,允许应用访问摄像头和存储设备: ```xml ``` 对于Android 6.0...

    SaveQQ.zip

    5. UI与数据库交互:在Android Studio中,我们通常会使用SQLiteOpenHelper的子类来操作数据库,并在Activity或Fragment中调用这些方法。例如,在用户登录时,我们可以获取输入的用户名和密码,然后调用...

    Android aidl文件

    在实现这个接口的服务端,你需要创建一个实现了`ICacheService`的类,并将其实例绑定到Service中。客户端则通过Binder机制调用这些远程方法,实现对缓存的操作。 对于缓存管理,Android提供了多种API,例如`Context...

    Hadoop搭建及mr程序示例.docx

    本文档将详细介绍如何搭建一个Hadoop集群,并演示如何在Windows环境下利用Eclipse开发MapReduce程序,以WordCount为例。 **Hadoop安装前准备** 在开始搭建Hadoop集群之前,需要确保你的环境满足以下条件: 1. **...

Global site tag (gtag.js) - Google Analytics