这个问题在这里已有答案:
我有以下参数化查询和参数集:
private String queryBuilder(DetailsRequest apiRequest, Map<String, String> headers) {
StringBuilder builder = new StringBuilder();
final String QUERY = "select * from gfc.LSI_ELGBLTY where INSURANCE_ID = ? and SYS_CD = ? and ACCT_TYPE in (?)";
Object[] params = new Object[] {
request.getInsuranceId(),request.getSystemId(),AcctNameBuilder};
}
如何将这些参数设置为上述查询并打印出来?我只是不想执行它们。我使用的是spring-boot,我不想为此创建新的连接对象。
这是一种方法:
private void printPopulatedQuery(String query, Object[] params) {
for(Object param : params) {
query = query.replaceFirst("\\?", "'" + String.valueOf(param) + "'");
}
System.out.println(query);
}
如果您不希望数字参数在它们周围有引号,您可以先检查参数的类型。