Open sidebar
public class ConnectionPoolManager { private final Main plugin; private HikariDataSource dataSource; private String hostname; private String port; private String database; private String username; private String password; private int minimumConnections; private int maximumConnections; private long connectionTimeout; private String testQuery; public ConnectionPoolManager(Main plugin) { this.plugin = plugin; init(); setupPool(); } private void init() { hostname = plugin.getConfig().getSQLHostname(); port = plugin.getConfig().getSQLPort(); database = plugin.getConfig().getSQLDatabase(); username = plugin.getConfig().getSQLUsername(); password = plugin.getConfig().getSQLPassword(); minimumConnections = plugin.getConfig().getSQLPoolMinimumConnections(); maximumConnections = plugin.getConfig().getSQLPoolMaximumConnections(); connectionTimeout = plugin.getConfig().getSQLPoolConnectionTimeoutMillis(); testQuery = plugin.getConfig().getSQLPoolTestQuery(); } private void setupPool() { HikariConfig config = new HikariConfig(); config.setJdbcUrl( "jdbc:mysql://" + hostname + ":" + port + "/" + database ); config.setDriverClassName("com.mysql.jdbc.Driver"); config.setUsername(username); config.setPassword(password); config.setMinimumIdle(minimumConnections); config.setMaximumPoolSize(maximumConnections); config.setConnectionTimeout(connectionTimeout); config.setConnectionTestQuery(testQuery); dataSource = new HikariDataSource(config); } public Connection getConnection() throws SQLException { return dataSource.getConnection(); } public void close(Connection conn, PreparedStatement ps, ResultSet res) { if (conn != null) try { conn.close(); } catch (SQLException ignored) {} if (ps != null) try { ps.close(); } catch (SQLException ignored) {} if (res != null) try { res.close(); } catch (SQLException ignored) {} } } public class SQLManager { private final Main plugin; private final ConnectionPoolManager pool; public SQLManager(Main plugin) { this.plugin = plugin; pool = new ConnectionPoolManager(plugin); makeTable(); } private void makeTable() { Connection conn = null; PreparedStatement ps = null; try { conn = pool.getConnection(); ps = conn.prepareStatement( "CREATE TABLE IF NOT EXISTS `Test` " + "(" + "UUID varchar(30)" + ")" ); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { pool.close(conn, ps, null); } } }
Close sidebar
Back
Please note that all pasted data is publicly available.
X (fomerly Twitter)
GitHub
Use setting
Back
Please note that all pasted data is publicly available.
X (fomerly Twitter)
GitHub
Use setting