我必须学习Java JDBC。Java JDBC:为什么需要注册out参数?
今天笔者就如何存储过程从内部JDBC称为样子。
什么我不明白......,当我有一个存储过程例如像这样:
CREATE PROCEDURE demo.get_count_for_department
(IN the_department VARCHAR(64), OUT the_count INT)
BEGIN
...
“the_count”被标记为输出参数。类型也被指定。所以这应该都是已知的。
不过我必须指定类型再次
statement.registerOutParameter(2, Types.INTEGER);
我必须把类型中再次出现?对我来说似乎是多余的。
为什么我必须在那里给出两个参数?
statement = connection.prepareCall("{call get_count_for_department(?, ?)}");
我还没有看到过任何其他编程语言。您只需要注意参数中的内容。对于输出参数来说,功能护理本身。
为什么是不同的吗?
也许有人可以将我的几句话。以便我更好地了解这些存储过程调用的工作方式。
jdbc驱动程序如何知道数据库中的存储过程具有out参数? –
啊,好的。这是为了让Java运行时知道存储过程将返回Integer类型的值吗? –
是的。这是最少需要实际JDBC驱动程序的解决方案。 –