我有以下参数化查询和参数集:
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,并且不想为此创建新的连接对象。
答案 0 :(得分:0)
这是一种实现方法:
private void printPopulatedQuery(String query, Object[] params) {
for(Object param : params) {
query = query.replaceFirst("\\?", "'" + String.valueOf(param) + "'");
}
System.out.println(query);
}
如果您不希望数字参数用引号引起来,则可以首先检查参数的类型。