Integrated the new ConnectSettingsManager

This commit is contained in:
mathias 2021-08-27 14:05:49 +02:00
parent f579b69ae6
commit e96bb22814
No known key found for this signature in database
GPG Key ID: 8950DF62139C852A

View File

@ -7,7 +7,6 @@ import de.gnmyt.sqltoolkit.manager.*;
import de.gnmyt.sqltoolkit.querybuilder.AbstractQuery; import de.gnmyt.sqltoolkit.querybuilder.AbstractQuery;
import de.gnmyt.sqltoolkit.querybuilder.QueryBuilder; import de.gnmyt.sqltoolkit.querybuilder.QueryBuilder;
import de.gnmyt.sqltoolkit.querybuilder.SQLQuery; import de.gnmyt.sqltoolkit.querybuilder.SQLQuery;
import de.gnmyt.sqltoolkit.types.LoginParam;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -20,14 +19,13 @@ public class MySQLConnection {
public static final Logger LOG = LoggerFactory.getLogger("MySQL-Logger"); public static final Logger LOG = LoggerFactory.getLogger("MySQL-Logger");
private final TableFactory tableFactory = new TableFactory(this); private final TableFactory tableFactory = new TableFactory(this);
private final ConnectSettingsManager settingsManager = new ConnectSettingsManager(this);
private final String hostname; private final String hostname;
private final String username; private final String username;
private final String password; private final String password;
private final String database; private final String database;
private String connectString = "";
private Connection con; private Connection con;
/** /**
@ -45,21 +43,8 @@ public class MySQLConnection {
this.database = database; this.database = database;
} }
/** public ConnectSettingsManager updateSettings() {
* Advanced constructor for the connection return settingsManager;
*
* @param hostname MySQL server hostname
* @param username MySQL server username
* @param password MySQL server password
* @param database MySQL server database
* @param loginParams Login parameters
*/
public MySQLConnection(String hostname, String username, String password, String database, LoginParam... loginParams) {
this.hostname = hostname;
this.username = username;
this.password = password;
this.database = database;
updateConnectionString(loginParams);
} }
/** /**
@ -320,7 +305,7 @@ public class MySQLConnection {
try { try {
LOG.info("Connecting to " + hostname + " with user " + username + " to database " + database); LOG.info("Connecting to " + hostname + " with user " + username + " to database " + database);
Class.forName("com.mysql.cj.jdbc.Driver"); Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://" + hostname + "/" + database + connectString, username, password); con = DriverManager.getConnection("jdbc:mysql://" + hostname + "/" + database + settingsManager.generateConnectionString(), username, password);
LOG.info("Connection established"); LOG.info("Connection established");
} catch (Exception exception) { } catch (Exception exception) {
if (exception.getMessage().contains("jdbc.Driver")) if (exception.getMessage().contains("jdbc.Driver"))
@ -353,34 +338,6 @@ public class MySQLConnection {
return this; return this;
} }
/**
* Update the Connection String
*
* @param loginParams New login parameters
* @return this class
*/
public MySQLConnection updateConnectionString(LoginParam... loginParams) {
this.connectString = getConnectionString(loginParams);
return this;
}
/**
* Get the current jdbc connection string for mysql
*
* @param loginParams login parameters
* @return the string
*/
private String getConnectionString(LoginParam[] loginParams) {
boolean used = false;
StringBuilder currentString = new StringBuilder();
for (LoginParam param : loginParams) {
String currentChar = (used) ? "&" : "?";
used = true;
currentString.append(currentChar).append(param.getValue());
}
return currentString.toString();
}
/** /**
* Check if you are connected * Check if you are connected
* *