gpt4 book ai didi

java - 在 java 中重用 PrepareStatement 中的参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:12 24 4
gpt4 key购买 nike

private String QUERY = "(SELECT * FROM tab1 WHERE year = ? and month = ?) UNION (SELECT * FROM tab2 WHERE year = ? and month = ?) UNION (SELECT * FROM tab3 WHERE year = ? and month = ?");

aPreparedStatement = connection.prepareStatement(QUERY);
aPreparedStatement.setString(1, "2012");
aPreparedStatement.setString(2, "july");
aPreparedStatement.setString(3, "2012");
aPreparedStatement.setString(4, "2012");
aPreparedStatement.setString(5, "july");
aPreparedStatement.setString(6, "2012");

而不是一次又一次地为“?”设置相同的参数,有什么方法可以避免使用多个 setString 方法来替换 PreparedStatement 中的相同参数?

最佳答案

你可以设计一个辅助方法,像这样:

void setString(PreparedStatement pstmt, String s, Integer... indices) {
for (Integer index : indices) {
pstmt.setString(index, s);
}
}

然后调用:

setString(aPreparedStatement, "2012", 1, 3, 4, 6);
setString(aPreparedStatement, "july", 2, 5);

关于java - 在 java 中重用 PrepareStatement 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11507542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com