package de.oppermann.bastian.spleef.storage; import java.sql.DriverManager; import java.sql.SQLException; import de.oppermann.bastian.spleef.util.Validator; /** * Class to connect to a MySQL-database. */ public class MySQLConnector extends SQLConnector { private String host; private String port; private String database; private String user; private String pass; /** * Class constructor. * * @param host The server host. * @param port The server port. * @param database The name of the database. * @param user The name of the user. * @param password The password. */ public MySQLConnector(String host, String port, String database, String user, String password) throws SQLException { Validator.validateNotNull(host, "host"); Validator.validateNotNull(database, "database"); Validator.validateNotNull(user, "user"); Validator.validateNotNull(password, "password"); this.host = host; this.port = port; this.database = database; this.user = user; this.pass = password; connect(); succeeded = connection != null; } /* * (non-Javadoc) * @see de.oppermann.bastian.lib.storage.SQLConnector#connect() */ @Override protected void connect() throws SQLException{ connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?user=" + user + "&password=" + pass); Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { try { closeConnection(); } catch (SQLException e) { // should not happen e.printStackTrace(); } } }); } }