将params附加到java JDBC中的预处理语句并打印查询[duplicate]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我有以下参数化查询和参数集:

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,我不想为此创建新的连接对象。

java spring-boot jdbctemplate
1个回答
0
投票

这是一种方法:

private void printPopulatedQuery(String query, Object[] params) {
    for(Object param : params) {              
          query = query.replaceFirst("\\?", "'" + String.valueOf(param) + "'");
    }

    System.out.println(query);
}

如果您不希望数字参数在它们周围有引号,您可以先检查参数的类型。

© www.soinside.com 2019 - 2024. All rights reserved.