【问题标题】:Executing stored procedure from Java, other than with JDBC CallableStatement从 Java 执行存储过程,而不是使用 JDBC CallableStatement
【发布时间】:2014-07-28 00:55:47
【问题描述】:

我正在使用可用的模拟测试套件之一准备 Java 7 认证。

我偶然发现的一个测试问题是关于 JDBC CallableStatement 类,其中一个正确答案(根据工具)是:

CallableStatement 是 Java 程序执行的唯一方式 数据库中的存储过程,如果该过程有进出 参数。

这对我来说似乎很冒昧,我想知道是否有现有的库(例如可能是专有的数据库库)允许在没有 JDBC 的情况下运行存储过程?

【问题讨论】:

    标签: java stored-procedures jdbc callable-statement ocpjp


    【解决方案1】:

    MyBatis、Hibernate/JPA等开源框架都使用表下的JDBC。

    【讨论】:

    • 那么您和@BrettOkken 真正想说的是:“A CallableStatement唯一的方式让 Java 程序在数据库中执行存储过程,如果该过程具有输入和输出参数。”绝对正确,对吧?
    • 是的,这就是我所知道的
    • 那么,我会吃掉我的帽子,毕竟不是那么冒昧:) 感谢您的精确。
    【解决方案2】:

    我想这取决于他们正在寻找的答案的细微差别。由于大多数 Java SQL 技术/框架在某种程度上依赖于 JDBC,因此可以说他们将其抽象出来,但在技术上仍然涉及.

    但是,例如,我可以使用MyBatis 来调用存储过程,而无需直接 调用CallableStatement 或任何相关内容到 JDBC。在这种情况下,我会在调用存储过程映射器文件中定义一个<select>语句。它既可以接受参数也可以返回值。

    【讨论】:

    • 对于要执行的实际存储过程,将使用CallabeStatement。就算是间接使用,也还是会被使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 2010-12-16
    • 2012-10-14
    • 2021-07-14
    相关资源
    最近更新 更多