public String appendQueryProperties(final String jdbcUrl, final Properties queryProps) {
        Properties currentQueryProps = DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, DatabaseTypeFactory.get(jdbcUrl)).parse(jdbcUrl, null, null).getQueryProperties();
        return hasConflictedQueryProperties(currentQueryProps, queryProps)
                ? concat(jdbcUrl.substring(0, jdbcUrl.indexOf('?') + 1), getMergedProperties(currentQueryProps, queryProps))
                : concat(jdbcUrl + getURLDelimiter(currentQueryProps), queryProps);
    }
@Test
    void assertAppendQueryPropertiesWithOriginalQueryProperties() {
        String actual = new JdbcUrlAppender().appendQueryProperties(
                "jdbc:trunk://192.168.0.1:3306/foo_ds?useSSL=false&rewriteBatchedStatements=true",
                PropertiesBuilder.build(new Property("useSSL", Boolean.FALSE.toString()), new Property("rewriteBatchedStatements", Boolean.TRUE.toString())));
        assertThat(actual, startsWith("jdbc:trunk://192.168.0.1:3306/foo_ds?"));
        assertThat(actual, containsString("rewriteBatchedStatements=true"));
        assertThat(actual, containsString("useSSL=false"));
    }