我嘗試使用 SimpleJdbcCall 從存盤程序的結果中獲取值。
SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(dataSource)
.withProcedureName("getCryptData");
SqlParameterSource in = new MapSqlParameterSource()
.addValue("KCode", "")
.addValue("tbl","comp")
.addValue("CompId",tenant.toUpperCase());
Map<String, Object> out = simpleJdbcCall.execute(in);
String username = out.get;
//Get DB Settings
ArrayList result = (ArrayList) out.get("#result-set-1");
Map source = (Map) result.get(0);
雖然下面的代碼有效,但我擔心這是否安全。
//Get DB Settings
ArrayList result = (ArrayList) out.get("#result-set-1");
Map source = (Map) result.get(0);
我收到此警告訊息。
引數化類的原始使用
我想知道這對于現實生活中的制作是否可行,任何關于我應該如何改變它的建議都將不勝感激。
uj5u.com熱心網友回復:
雖然您仍然可以在生產環境中繼續使用您的代碼,但應該避免這種情況。
它們通常需要強制轉換并且它們不是型別安全的。它們的表現力也較差,并且它們不像引數化型別那樣提供自檔案
在 JDK 1.5 中引入泛型時,保留原始型別只是為了保持與舊 Java 版本的向后兼容性。
謝謝,羅賓
uj5u.com熱心網友回復:
它仍然會運行。但為了清楚起見,您應該避免這種情況。如果您確定型別,那么只需使用它進行轉換。在你施放它之后,你可能仍然會收到未經檢查的施放的警告。但是您可以通過插入來抑制警告@SuppressWarnings("unchecked")。例如:
@SuppressWarnings("unchecked")
List<Map<String, Object>> result = (List<Map<String, Object>>) out.get("#result-set-1");
Map<String, Object> source = result.get(0);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/409404.html
標籤:
下一篇:SpringKafka確認設定
