我必須學習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驅動程序的解決方案。 –