Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. package net.reventic.statsapi.mysql;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.util.concurrent.ExecutorService;
  9. import java.util.function.Consumer;
  10.  
  11. import org.bukkit.Bukkit;
  12.  
  13. import net.reventic.statsapi.main.StatsAPI;
  14.  
  15. public class Settings {
  16.  
  17. public static ExecutorService executor;
  18.  
  19. public static Connection con;
  20.  
  21. public static void connect() {
  22. try {
  23. if (!isConnected()) {
  24. con = DriverManager.getConnection("jdbc:mysql://" + StatsAPI.getHostname() + ":" + StatsAPI.getPort()
  25. + "/" + StatsAPI.getDB() + "?autoReconnect=true" + StatsAPI.getUsername() + StatsAPI.getPW());
  26. }
  27. } catch (SQLException e) {
  28. e.printStackTrace();
  29. }
  30. }
  31.  
  32. public static void disconnect() {
  33. if (isConnected()) {
  34. try {
  35. con.close();
  36. } catch (SQLException e) {
  37. e.printStackTrace();
  38. }
  39. }
  40. }
  41.  
  42. public static boolean isConnected() {
  43. return con != null;
  44. }
  45.  
  46. public void query(String qry, Consumer<ResultSet> consumer) {
  47. executor.execute(() -> {
  48. ResultSet result;
  49. try {
  50. result = prepare(qry).executeQuery();
  51. Bukkit.getScheduler().runTask(StatsAPI.getInstance(), () -> consumer.accept(result));
  52. } catch (SQLException e) {
  53. e.printStackTrace();
  54. }
  55. });
  56. }
  57.  
  58. public static PreparedStatement prepare(String qry) {
  59. try {
  60. return con.prepareStatement(qry);
  61. } catch (SQLException e) {
  62. e.printStackTrace();
  63. }
  64. return null;
  65. }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement