Fix url encoding

This commit is contained in:
Roman Zhuravlev 2024-07-15 20:23:20 +05:00
parent 1657df966a
commit 0df4be2bb6

View file

@ -24,10 +24,15 @@ public class SqlUtils {
public static Connection createMysqlConnection(String address, String dbname, String username, String password, boolean ssl) throws SqlException { public static Connection createMysqlConnection(String address, String dbname, String username, String password, boolean ssl) throws SqlException {
try { try {
if (!address.contains(":")) { String[] addressParts = address.split(":", 2);
address = address + ":3306"; int port;
if (addressParts.length > 1) {
port = Integer.parseInt(encodeUrlValue(addressParts[1]));
address = addressParts[0];
} else {
port = 3306;
} }
return DriverManager.getConnection("jdbc:mysql://" + encodeUrlValue(address) + '/' + encodeUrlValue(dbname) + "?useSSL=" + ssl, username, password); return DriverManager.getConnection("jdbc:mysql://" + encodeUrlValue(address) + ':' + port + '/' + encodeUrlValue(dbname) + "?useSSL=" + ssl, username, password);
} catch (SQLException | UnsupportedEncodingException e) { } catch (SQLException | UnsupportedEncodingException e) {
throw new SqlException(e); throw new SqlException(e);
} }