java如何调用存储过程?

 时间:2026-02-15 20:33:10

1、调用存储过程遵循与创建准备好的语句类似的模式。

java如何调用存储过程?

2、您可以使用下图中的测试运行以前的salary_update procedure:

@Testpublic void callStoredProc() throws SQLException {    Connection conn = DriverManager.getConnection(            "jdbc:mysql://localhost:3306/mytest",            "root",            "root");    CallableStatement stmt = conn.prepareCall("{call annual_salary_raise(?,?)}");    stmt.setInt(1, 4);    stmt.registerOutParameter(2, Types.INTEGER);    stmt.execute();    int updatedEmployees = stmt.getInt(2);    Assert.assertEquals(1, updatedEmployees);}

java如何调用存储过程?

3、对于此测试, 假定在运行之前, 数据库中只有4名员工有资格获得加薪, 如下表中的数据所示。

java如何调用存储过程?

4、使用连接对象上的准备调用创建 "CallableStatement "。与 "PreparedStatement " 对象类似, 此处显示了要在数据库上运行的语句, 并将参数设置为问号。

java如何调用存储过程?

5、设置了所有不同的参数及其数据类型。请注意, JDBC 区分输出参数。这些都是在语句执行后收集的。

6、调用存储过程的字符串是特定于数据库的: 

{call ANNUAL_SALARY_RAISE(?, ?)}

java如何调用存储过程?

7、此字符串的结构因供应商而异。请注意, 您发起呼叫的方式在供应商之间可能有所不同。例如, 对 Oracle plsql 中同名存储过程的调用如下所示:

conn.prepareCall("BEGIN ANNUAL_SALARY_RAISE(?, ?); END;");

java如何调用存储过程?

8、call周围是一个BEGIN...END 。结束块而不是大括号。参数仍由问号设置。

java如何调用存储过程?

  • JQ生成的动态表格怎么合并单元格
  • 怎么用Runnable接口创建线程
  • Angular弹出模态框的方式
  • MessageBox函数中的第四个参数uType详解
  • Tomcat6.0版本官网下载与安装部署
  • 热门搜索
    东钱湖旅游 杭州晚上哪里好玩 在哪里可以看片 西门子燃气灶怎么样 草鱼怎么弄好吃 中老年人如何补钙 生日文案朋友圈 虾爬子怎么保存 不会唱歌怎么办 省内旅游景点