![](/img/trans.png)
[英]Passing xml parameter through java to stored procedure in sql server2008
[英]passing parameter in sql server script file in java
我的電腦中有sql文件:
示例: C:\\Users\\User\\Desktop\\Queries\\test.sql
在test.sql
示例中查詢:
Select * from table where colname like '%me%';
我在這樣的Java程序中運行此命令:
FileReader SomeName = new FileReader("C:\Users\User\Desktop\Queries\test.sql");
ResultSet rsjs = null;
rsjs = jsscript.runScript(myconn, SomeName);
這工作正常,但現在我需要一種在此sql文件中傳遞參數的方法,以便查詢如下:
Select * from table where colname like @parameter;
可能嗎?
PS:我不能在Java程序中直接使用查詢。 我知道如何在查詢中傳遞參數,但是這個問題與sql文件中的傳遞參數有關。 存儲過程也不可行。
您應該查看StrSubstitutor
https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/text/StrSubstitutor.html 。
sql字符串可以具有以下變量:
String query = "Select * from table where colname like ${parameter};"
然后創建一個像這樣的地圖:
Map<String, String> values = new HashMap<>();
values.put("parameter", "%me%");
現在,您可以使用以下命令替換變量:
StrSubstitutor sub = new StrSubstitutor(values);
return sub.replace(query);
編輯1:如果查詢來自文件,則可以讀取文件並將其存儲在字符串中。 查看Files.readAllLines(path, charset)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.