Advertisement
Guest User

Untitled

a guest
Feb 24th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. package net.juliusapi.freundesystem.sql;
  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.Callable;
  9. import java.util.concurrent.ExecutionException;
  10. import java.util.concurrent.FutureTask;
  11.  
  12. public class MySQL {
  13.  
  14. private String host;
  15. private int port;
  16. private String database;
  17. private String user;
  18. private String password;
  19. private Connection connection;
  20.  
  21.  
  22. public MySQL(String host, int port, String database, String user, String password) {
  23. this.host = host;
  24. this.port = port;
  25. this.database = database;
  26. this.user = user;
  27. this.password = password;
  28.  
  29. connect();
  30. update("CREATE TABLE IF NOT EXISTS Freunde (UUID varchar(64), FUUIDs TEXT(32000), FRequests TEXT(3200), OnlineStatus boolean)");
  31. update("CREATE TABLE IF NOT EXISTS Einstellungen (UUID varchar(64), Requests boolean, Notify boolean, FChat boolean, FJump boolean)");
  32. }
  33.  
  34. public void connect() {
  35. try {
  36. connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?autoReconnect=true", user, password);
  37.  
  38. System.out.println("MySQL ist Verbunden");
  39. } catch (SQLException ex) {
  40. ex.printStackTrace();
  41.  
  42. System.out.println("MySQL konnte nicht Verbunden werden");
  43. }
  44. }
  45.  
  46. public void disconnect() {
  47. try {
  48. connection.close();
  49.  
  50. System.out.println("MySQL hat sich getrennt");
  51. } catch (SQLException ex) {
  52. ex.printStackTrace();
  53.  
  54. System.out.println("MySQL konnte nicht getrennt werden");
  55. }
  56. }
  57.  
  58. public boolean isConnected() {
  59. return (connection != null ? true : false);
  60. }
  61.  
  62. public void update(String qry) {
  63. if(isConnected()) {
  64. new FutureTask<>(new Runnable() {
  65.  
  66. PreparedStatement ps;
  67.  
  68. @Override
  69. public void run() {
  70. try {
  71. ps = connection.prepareStatement(qry);
  72.  
  73. ps.executeUpdate();
  74. ps.close();
  75. } catch (SQLException e) {
  76. e.printStackTrace();
  77. }
  78. }
  79. }, 1).run();
  80. } else {
  81. connect();
  82. }
  83. }
  84.  
  85. public void updateWithBoolean(String qry, boolean value) {
  86. if(isConnected()) {
  87. new FutureTask<>(new Runnable() {
  88.  
  89. PreparedStatement ps;
  90.  
  91. @Override
  92. public void run() {
  93. try {
  94. ps = connection.prepareStatement(qry);
  95. ps.setBoolean(1, value);
  96.  
  97. ps.executeUpdate();
  98. ps.close();
  99. } catch (SQLException e) {
  100. e.printStackTrace();
  101. }
  102. }
  103. }, 1).run();
  104. } else {
  105. connect();
  106. }
  107. }
  108.  
  109. public ResultSet getResult(String qry) {
  110. if(isConnected()) {
  111. try {
  112. final FutureTask<ResultSet> task = new FutureTask<ResultSet>(new Callable<ResultSet>() {
  113.  
  114. PreparedStatement ps;
  115.  
  116. @Override
  117. public ResultSet call() throws Exception {
  118. ps = connection.prepareStatement(qry);
  119.  
  120. return ps.executeQuery();
  121. }
  122. });
  123.  
  124. task.run();
  125.  
  126. return task.get();
  127. } catch (InterruptedException | ExecutionException e) {
  128. e.printStackTrace();
  129. }
  130. } else {
  131. connect();
  132. }
  133.  
  134. return null;
  135. }
  136.  
  137.  
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement