diff --git a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/jdbc/hikaricp/JDBCHikariCPClient.java b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/jdbc/hikaricp/JDBCHikariCPClient.java index 158e9185e..5539097f1 100644 --- a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/jdbc/hikaricp/JDBCHikariCPClient.java +++ b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/jdbc/hikaricp/JDBCHikariCPClient.java @@ -86,22 +86,7 @@ public class JDBCHikariCPClient implements Client { PreparedStatement statement = null; try { statement = connection.prepareStatement(sql); - if (params != null) { - for (int i = 0; i < params.length; i++) { - Object param = params[i]; - if (param instanceof String) { - statement.setString(i + 1, (String)param); - } else if (param instanceof Integer) { - statement.setInt(i + 1, (int)param); - } else if (param instanceof Double) { - statement.setDouble(i + 1, (double)param); - } else if (param instanceof Long) { - statement.setLong(i + 1, (long)param); - } else { - throw new JDBCClientException("Unsupported data type, type=" + param.getClass().getName()); - } - } - } + setStatementParam(statement, params); result = statement.execute(); statement.closeOnCompletion(); } catch (SQLException e) { @@ -123,22 +108,7 @@ public class JDBCHikariCPClient implements Client { PreparedStatement statement = null; try { statement = connection.prepareStatement(sql); - if (params != null) { - for (int i = 0; i < params.length; i++) { - Object param = params[i]; - if (param instanceof String) { - statement.setString(i + 1, (String)param); - } else if (param instanceof Integer) { - statement.setInt(i + 1, (int)param); - } else if (param instanceof Double) { - statement.setDouble(i + 1, (double)param); - } else if (param instanceof Long) { - statement.setLong(i + 1, (long)param); - } else { - throw new JDBCClientException("Unsupported data type, type=" + param.getClass().getName()); - } - } - } + setStatementParam(statement, params); rs = statement.executeQuery(); statement.closeOnCompletion(); } catch (SQLException e) { @@ -153,4 +123,25 @@ public class JDBCHikariCPClient implements Client { return rs; } + + private void setStatementParam(PreparedStatement statement, Object[] params) + throws SQLException, JDBCClientException { + if (params != null) { + for (int i = 0; i < params.length; i++) { + Object param = params[i]; + if (param instanceof String) { + statement.setString(i + 1, (String) param); + } else if (param instanceof Integer) { + statement.setInt(i + 1, (int) param); + } else if (param instanceof Double) { + statement.setDouble(i + 1, (double) param); + } else if (param instanceof Long) { + statement.setLong(i + 1, (long) param); + } else { + throw new JDBCClientException( + "Unsupported data type, type=" + param.getClass().getName()); + } + } + } + } }