我正在使用可用的模拟测试套件之一准备Java 7认证。
我偶然发现的测试问题之一是关于JDBC CallableStatement
类,正确答案之一(根据工具)是:
如果过程具有 in 和 out 参数, CallableStatement 是Java 程序在数据库中执行存储过程的唯一方法。
这对我来说似乎很冒昧,我想知道是否有现有的库(例如可能是专有的 db 库)允许在没有JDBC的情况下运行存储过程?
我正在使用可用的模拟测试套件之一准备Java 7认证。
我偶然发现的测试问题之一是关于JDBC CallableStatement
类,正确答案之一(根据工具)是:
如果过程具有 in 和 out 参数, CallableStatement 是Java 程序在数据库中执行存储过程的唯一方法。
这对我来说似乎很冒昧,我想知道是否有现有的库(例如可能是专有的 db 库)允许在没有JDBC的情况下运行存储过程?
MyBatis、Hibernate/JPA等开源框架都使用表下的JDBC。
我想这取决于他们正在寻找的答案有多微妙。由于大多数Java SQL技术/框架在某种程度上都依赖于JDBC,因此可以说它们将其抽象掉了,但在技术上仍然涉及到它。
但是,我可以使用例如MyBatis来调用存储过程,而无需直接调用CallableStatement或任何与JDBC相关的东西。在这种情况下,我会在调用存储过程的映射器文件<select>
中定义一个语句。它既可以接受参数也可以返回值。