Guest User

Untitled

a guest
Apr 5th, 2018
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. package mineward.core.common;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DatabaseMetaData;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9.  
  10. import mineward.core.Core;
  11. import mineward.core.common.database.DBTableColumn;
  12. import mineward.core.common.database.TableMaker;
  13.  
  14. public class Database {
  15.  
  16. private static Connection connection;
  17. private static String URL_HOST;
  18. private static String USER;
  19. private static String PASS;
  20. private static boolean dbDown = false;
  21.  
  22. public static void PrepareConnection() {
  23. URL_HOST = "jdbc:mysql://" + Core.Config.getString("database-host") + ":" + Core.Config.getInt("database-port") + "/" + Core.Config.getString("database-name") + "?autoReconnect=true&useSSL=false";
  24. USER = Core.Config.getString("database-username");
  25. PASS = Core.Config.getString("database-password");
  26. }
  27.  
  28. public static Connection getConnection() {
  29. if (connection == null) {
  30. try {
  31. connection = DriverManager.getConnection(URL_HOST, USER, PASS);
  32. dbDown = false;
  33. return connection;
  34. } catch (SQLException e) {
  35. dbDown = true;
  36. e.printStackTrace();
  37. return null;
  38. }
  39. } else {
  40. dbDown = false;
  41. return connection;
  42. }
  43. }
  44.  
  45. public static void closeConnection() {
  46. try {
  47. if (connection != null || !(connection.isClosed())) {
  48. connection.close();
  49. dbDown = true;
  50. }
  51. } catch (SQLException e) {
  52. e.printStackTrace();
  53. }
  54. }
  55.  
  56. public static boolean isConnectionLost() {
  57. return dbDown;
  58. }
  59.  
  60. public static boolean doesTableExist(String name) {
  61. Connection con = Database.getConnection();
  62. try {
  63. DatabaseMetaData dbm = con.getMetaData();
  64. ResultSet tables = dbm.getTables(null, null, name, null);
  65. boolean exists = tables.next();
  66. tables.close();
  67. return exists;
  68. } catch (SQLException e) {
  69. e.printStackTrace();
  70. return false;
  71. }
  72. }
  73.  
  74. public static boolean safetyCheck(String tableName, DBTableColumn[] columns) {
  75. if (isConnectionLost()) {
  76. return false;
  77. }
  78. if (!(doesTableExist(tableName))) {
  79. boolean made = TableMaker.createTable(tableName, columns);
  80. return made ? true : false;
  81. }
  82. return true;
  83. }
  84.  
  85. public static boolean runUpdateStatement(String sql) {
  86. try {
  87. PreparedStatement statement = Database.getConnection()
  88. .prepareStatement(sql);
  89. statement.executeUpdate();
  90. statement.close();
  91. return true;
  92. } catch (SQLException e) {
  93. e.printStackTrace();
  94. return false;
  95. }
  96. }
  97.  
  98. }
Add Comment
Please, Sign In to add comment