Advertisement
Guest User

Untitled

a guest
Sep 13th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. package me.jesper.sql;
  2.  
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6.  
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.event.EventHandler;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.event.player.PlayerLoginEvent;
  11. import org.bukkit.plugin.java.JavaPlugin;
  12.  
  13. import com.mysql.jdbc.Connection;
  14.  
  15. public class Main extends JavaPlugin implements Listener {
  16.  
  17. private static Connection connection;
  18.  
  19. public void onEnable() {
  20. getServer().getPluginManager();
  21. }
  22.  
  23. public void onDisable() {
  24. try {
  25. if(connection != null && !connection.isClosed())
  26. connection.close();
  27. } catch (Exception e) {
  28. e.printStackTrace();
  29. }
  30. }
  31.  
  32. public synchronized static void openConnection() {
  33. try {
  34. connection = (Connection) DriverManager.getConnection(
  35. "jdbc:mysql://127.0.0.1:3306/root", "playerdata",
  36. "");
  37. } catch (Exception e) {
  38. e.printStackTrace();
  39. }
  40. }
  41.  
  42. public synchronized static void closeConnection() {
  43. try {
  44. connection.close();
  45. } catch (Exception e) {
  46. e.printStackTrace();
  47. }
  48. }
  49. public synchronized static boolean playerDataCantainsPlayer(Player player) {
  50. try {
  51. PreparedStatement sql = connection.prepareStatement("SELECT * FROM `player_data` WHERE player=?;");
  52. sql.setString(1, player.getName());
  53. ResultSet resultSet = sql.executeQuery();
  54. resultSet.next();
  55.  
  56.  
  57. sql.close();
  58. resultSet.close();
  59. return false;
  60.  
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63.  
  64. }
  65. return false;
  66.  
  67.  
  68.  
  69. }
  70.  
  71. @EventHandler
  72. public void onPlayerLogin(PlayerLoginEvent event) {
  73. openConnection();
  74. try {
  75. int previousLogins = 0;
  76.  
  77. if (playerDataCantainsPlayer(event.getPlayer())) {
  78. PreparedStatement sql = connection.prepareStatement("SELECT `logins` FROM `player_data` WHERE player=?;");
  79. sql.setString(1, event.getPlayer().getName());
  80.  
  81. ResultSet result = sql.executeQuery();
  82. result.next();
  83.  
  84. previousLogins = result.getInt("logins");
  85.  
  86. PreparedStatement loginsUpdate = connection.prepareStatement("UPDATE `player_data` SET logins=? WHERE player=?;");
  87. loginsUpdate.setInt(1, previousLogins + 1);
  88. loginsUpdate.setString(2, event.getPlayer().getName());
  89. loginsUpdate.executeUpdate();
  90.  
  91. loginsUpdate.close();
  92. sql.close();
  93. result.close();
  94. } else {
  95. PreparedStatement newPlayer = connection.prepareStatement("INSERT INTO `player_data` valeus(?)");
  96. newPlayer.setString(1, event.getPlayer().getName());
  97. newPlayer.execute();
  98. newPlayer.close();
  99.  
  100.  
  101. }
  102.  
  103. } catch (Exception e) {
  104. e.printStackTrace();
  105. } finally {
  106. closeConnection();
  107.  
  108. }
  109. }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement