W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
HasorDB 支持存儲過程的調(diào)用。以 MySQL 為例,有下例存儲。執(zhí)行存儲過程后會產(chǎn)生 ?1
? 個入?yún)ⅲ?1
? 個出參,?2
? 個結(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í)行存儲過程,并接收所有返回的數(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é)果中分別獲取兩個 select 結(jié)果的方式如下:
// 第一個 select 的結(jié)果
List<Map<String, Object>> result1 = resultMap.get("#result-set-1");
// 第二個 select 的結(jié)果
List<Map<String, Object>> result2 = resultMap.get("#result-set-2");
提示
通過 ?jdbcTemplate.call
? 調(diào)用存儲過程返回的結(jié)果集,只會以 ?List/Map
?形式返回。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: