簡體   English   中英

在 DB2 查詢中傳遞參數時面臨問題

[英]Facing problem in passing param in DB2 query

查詢來自數據庫的 select 新病例報告,其中輸入參數為 Id、fromdate 和 todate。

我已經編寫了一個 mapsqlparametersource class ,它不起作用,因此作為替代方法,我如何在不更改查詢的情況下直接在 queryforlist 中傳遞這些參數。

MapSqlParameterSource source = new MapSqlParameterSource(); source.addValue(Constants.FROMDATE.getValue(), CommonUtils.formatDateddmmyyyy("01-01-2020", "yyyy-MM-dd"),Types.CHAR); source.addValue(Constants.TODATE.getValue(), CommonUtils.formatDateddmmyyyy("12-12-2021", "yyyy-MM-dd"),Types.CHAR); source.addValue("issuerid", "50191150159",Types.CHAR);

什么可能是傳遞值的替代方式。

您可以創建一個Map<String, T>並首先向其中添加參數,然后將 Map 傳遞給構造函數。

Map<String, (whatever the value type would be)> parameters = new HashMap<>();
parameters.add(Constants.FROMDATE.getValue(), CommonUtils.formatDateddmmyyyy("01-01-2020", "yyyy-MM-dd"));
parameters.add(Constants.TODATE.getValue(), CommonUtils.formatDateddmmyyyy("12-12-2021", "yyyy-MM-dd"),Types.CHAR);
parameters.add("issuerid", "50191150159",Types.CHAR);
MapSqlParameterSource source = new MapSqlParameterSource(parameters);

我認為這不會改變 object 的內容,但我會確保您的Constants.getValue()輸出與數據庫端匹配,並且您輸入的日期格式正確(我注意到您有日期輸入為 dd-mm-yyyy,但后面有 yyyy-MM-dd,以防萬一您沒有注意到)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM