MySQL JDBC Format

[resolves #8]

Signed-off-by: Ben Hale <bhale@vmware.com>
This commit is contained in:
Ben Hale
2020-05-11 08:47:35 -07:00
parent 58bd3c5953
commit 268be9f7c7
2 changed files with 6 additions and 5 deletions

View File

@@ -25,6 +25,8 @@ import java.util.Map;
/**
* An implementation of {@link BindingsPropertiesProcessor} that detects {@link Binding}s of kind: {@value KIND}.
*
* @see <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html">JDBC URL Format</a>
*/
public final class MySqlBindingsPropertiesProcessor implements BindingsPropertiesProcessor {
@@ -50,9 +52,8 @@ public final class MySqlBindingsPropertiesProcessor implements BindingsPropertie
}
properties.put("spring.datasource.password", secret.get("password"));
properties.put("spring.datasource.url", String.format("jdbc:mysql://%s:%s/%s?user=%s&password=%s",
secret.get("host"), secret.get("port"), secret.get("db"), secret.get("username"),
secret.get("password")));
properties.put("spring.datasource.url", String.format("jdbc:mysql://%s:%s/%s",
secret.get("host"), secret.get("port"), secret.get("database")));
properties.put("spring.datasource.username", secret.get("username"));
});
}

View File

@@ -41,7 +41,7 @@ final class MySqlBindingsPropertiesProcessorTest {
new Binding("test-name", Paths.get("test-path"),
Collections.singletonMap("kind", KIND),
new FluentMap()
.withEntry("db", "test-db")
.withEntry("database", "test-database")
.withEntry("host", "test-host")
.withEntry("password", "test-password")
.withEntry("port", "test-port")
@@ -52,7 +52,7 @@ final class MySqlBindingsPropertiesProcessorTest {
assertThat(properties)
.containsEntry("spring.datasource.driver-class-name", "org.mariadb.jdbc.Driver")
.containsEntry("spring.datasource.password", "test-password")
.containsEntry("spring.datasource.url", "jdbc:mysql://test-host:test-port/test-db?user=test-username&password=test-password")
.containsEntry("spring.datasource.url", "jdbc:mysql://test-host:test-port/test-database")
.containsEntry("spring.datasource.username", "test-username");
}