0

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

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

如果过程具有 in 和 out 参数, CallableStatement 是Java 程序在数据库中执行存储过程的唯一方法。

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

4

2 回答 2

1

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

于 2014-07-28T04:23:19.273 回答
1

我想这取决于他们正在寻找的答案有多微妙。由于大多数Java SQL技术/框架在某种程度上都依赖于JDBC,因此可以说它们将其抽象掉了,但在技术上仍然涉及到它。

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

于 2014-07-28T02:19:51.140 回答