Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.mysql.jdbc.exceptions.jdbc4.CommunicationsException;
- import org.broken.cheststorage.ChestStorage;
- import org.broken.cheststorage.Settings.DatabaseSettings;
- import java.sql.*;
- import java.util.logging.Level;
- public class MySQL extends Database {
- private Connection connection;
- private Connection connectin;
- private boolean hasCastExeption = false;
- private final DatabaseSettings databaseSettings = DatabaseSettings.getInstance();
- public MySQL() {
- super("ContainerData", "User_Settings");
- }
- @Override
- public Connection connect() {
- System.out.println(" testing database connect() " + this.connection);
- try {
- if (this.connection == null || this.connection.isClosed()) {
- String databaseName = databaseSettings.getDatabaseName();
- String hostAdress = databaseSettings.getHostAdress();
- String port = databaseSettings.getPort();
- String user = databaseSettings.getDatabaseUser();
- String password = databaseSettings.getDatabasePassword();
- //Class.forName("com.mysql.jdbc.Driver");
- System.out.println(" testing database after");
- if (!hasCastExeption) {
- System.out.println("testing database");
- String driverConetion = "jdbc:mysql://";
- try {
- connectin = DriverManager.getConnection("jdbc:mysql://" + hostAdress + ":" + port + "/?useSSL=false", user, password);
- } catch (SQLRecoverableException | NoClassDefFoundError exception) {
- System.out.println("testing database");
- driverConetion = "jdbc:mariadb://";
- }
- connectin = DriverManager.getConnection(driverConetion + hostAdress + ":" + port + "/?useSSL=false", user, password);
- DatabaseMetaData metaData = connectin.getMetaData();
- //retrieving the name of the database
- String product_name = metaData.getDatabaseProductName();
- System.out.println("Name of the underlying database: " + product_name);
- PreparedStatement createdatabase = connectin.prepareStatement("CREATE DATABASE IF NOT EXISTS " + databaseName);
- createdatabase.execute();
- close(createdatabase);
- connectin.close();
- connection = DriverManager.getConnection(driverConetion + hostAdress + ":" + port + "/" + databaseName + "?useSSL=false&useUnicode=yes&characterEncoding=UTF-8&autoReconnect=" + true, user, password);
- }
- }
- return this.connection;
- } catch (CommunicationsException throwables) {
- hasCastExeption = true;
- ChestStorage.getInstance().getPluginLoader().disablePlugin(ChestStorage.getInstance());
- ChestStorage.getInstance().getLogger().log(Level.SEVERE, "You has no connection to the database. Check your connection and the databaseSettings.yml, so you has right values.", throwables);
- } catch (SQLException throwables) {
- throwables.printStackTrace();
- //ChestStorage.getInstance().getPluginLoader().disablePlugin(ChestStorage.getInstance());
- }
- return connection;
- }
- @Override
- public boolean isHasCastExeption() {
- return hasCastExeption;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement