W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
HasorDB 支持存儲(chǔ)過程的調(diào)用。以 MySQL 為例,有下例存儲(chǔ)。執(zhí)行存儲(chǔ)過程后會(huì)產(chǎn)生 ?1
? 個(gè)入?yún)ⅲ?1
? 個(gè)出參,?2
? 個(gè)結(jié)果集
drop procedure if exists proc_select_table;
create procedure proc_select_table(in userName varchar(200),
out outName varchar(200))
begin
select * from test_user where name = userName;
select * from test_user;
set outName = concat(userName,'-str');
end;
執(zhí)行存儲(chǔ)過程,并接收所有返回的數(shù)據(jù)
List<SqlParameter> parameters = new ArrayList<>();
parameters.add(SqlParameterUtils.withInput("dative", Types.VARCHAR));
parameters.add(SqlParameterUtils.withOutputName("outName", Types.VARCHAR));
String querySql = "{call proc_select_table(?,?)}";
Map<String, Object> result = jdbcTemplate.call(querySql, parameters);
執(zhí)行結(jié)果中獲取輸出參數(shù)的方式如下:
String outName = resultMap.get("outName");
執(zhí)行結(jié)果中分別獲取兩個(gè) select 結(jié)果的方式如下:
// 第一個(gè) select 的結(jié)果
List<Map<String, Object>> result1 = resultMap.get("#result-set-1");
// 第二個(gè) select 的結(jié)果
List<Map<String, Object>> result2 = resultMap.get("#result-set-2");
提示
通過 ?jdbcTemplate.call
? 調(diào)用存儲(chǔ)過程返回的結(jié)果集,只會(huì)以 ?List/Map
?形式返回。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: