Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. package me.innos.rankingmaster.data;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.sql.Statement;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. import java.util.logging.Level;
  13.  
  14. import org.bukkit.Bukkit;
  15. import org.bukkit.entity.Player;
  16.  
  17. import me.innos.rankingmaster.Main;
  18. import me.innos.rankingmaster.user.User;
  19.  
  20. public class SQLiteData implements Data {
  21.  
  22. private Connection conn = null;
  23. private Statement stat = null;
  24.  
  25. private String fileName;
  26. private File file;
  27. private Main inst;
  28.  
  29. public SQLiteData(String fileName, Main inst) {
  30. this.inst = inst;
  31. this.fileName = fileName;
  32. file = new File(inst.getDataFolder(), this.fileName + ".db");
  33. try {
  34. this.file.createNewFile();
  35. } catch (IOException e) {
  36. Bukkit.getLogger().log(Level.SEVERE, "An error occured while creating database.", e);
  37. }
  38. update("CREATE TABLE IF NOT EXISTS '" + this.fileName + "'"
  39. + "("
  40. + "uuid varchar(100),"
  41. + "points int(10),"
  42. + "kills int(10),"
  43. + "deaths int(10),"
  44. + "PRIMARY KEY (uuid)"
  45. + ");");
  46. }
  47. @Override
  48. public void createUser(Player p) {
  49. if(!userExists(p)) {
  50. saveUser(new User(inst, p.getUniqueId().toString(), p.getName(), 1000, 0, 0));
  51. }
  52. }
  53.  
  54. @Override
  55. public void deleteUser(User u) {
  56. if(userExists(u.getPlayer())) {
  57. update("DELETE FROM " + this.fileName + " WHERE uuid = '" + u.getUuid() + "';");
  58. }
  59. }
  60.  
  61. @Override
  62. public User getUser(Player p) {
  63. ResultSet rs = query("SELECT * FROM " + this.fileName + " WHERE uuid = '" + p.getUniqueId() + "';");
  64. try {
  65. return new User(inst, rs);
  66. } catch (SQLException e) {
  67. Bukkit.getLogger().log(Level.SEVERE, "An error occured while returning a user.", e);
  68. }
  69. return null;
  70. }
  71.  
  72. @Override
  73. public boolean userExists(Player p) {
  74. ResultSet rs = query("SELECT * FROM " + this.fileName + " WHERE uuid = '" + p.getUniqueId() + "';");
  75. return rs != null;
  76. }
  77.  
  78. @Override
  79. public void saveUser(User u) {
  80. update("INSERT INTO " + fileName + " (uuid, name, points, kills, deaths) VALUES (" +
  81. u.getUuid().toString() + ", " +
  82. u.getPoints() + ", " +
  83. u.getKills() + ", " +
  84. u.getDeaths() + ")" +
  85. "ON DUPLICATE KEY UPDATE " +
  86. "uuid='" + u.getUuid().toString() + "'," +
  87. "name='" + u.getName() + "'," +
  88. "points='" + u.getPoints() + "'," +
  89. "kills='" + u.getKills() + "'," +
  90. "deaths='" + u.getDeaths() + "';");
  91. }
  92.  
  93. private ResultSet query(String query) {
  94. try {
  95. conn = DriverManager.getConnection("jdbc:sqlite:plugins/" + this.file.getParentFile().getName() + "/" + fileName + ".db");
  96. stat = conn.createStatement();
  97. ResultSet rs = stat.executeQuery(query);
  98. return rs;
  99. } catch (SQLException e) {
  100. Bukkit.getLogger().log(Level.SEVERE, "An error occured while executing a query.", e);
  101. }
  102. return null;
  103. }
  104. private void update(String update) {
  105. try {
  106. conn = DriverManager.getConnection("jdbc:sqlite:plugins/" + this.file.getParentFile().getName() + "/" + fileName + ".db");
  107. stat = conn.createStatement();
  108. stat.executeUpdate(update);
  109. stat.close();
  110. } catch (SQLException e) {
  111. Bukkit.getLogger().log(Level.SEVERE, "An error occured while executing a update.", e);
  112. }
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement