Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.jesper.sql;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerLoginEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import com.mysql.jdbc.Connection;
- public class Main extends JavaPlugin implements Listener {
- private static Connection connection;
- public void onEnable() {
- getServer().getPluginManager();
- }
- public void onDisable() {
- try {
- if(connection != null && !connection.isClosed())
- connection.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public synchronized static void openConnection() {
- try {
- connection = (Connection) DriverManager.getConnection(
- "jdbc:mysql://127.0.0.1:3306/root", "playerdata",
- "");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public synchronized static void closeConnection() {
- try {
- connection.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public synchronized static boolean playerDataCantainsPlayer(Player player) {
- try {
- PreparedStatement sql = connection.prepareStatement("SELECT * FROM `player_data` WHERE player=?;");
- sql.setString(1, player.getName());
- ResultSet resultSet = sql.executeQuery();
- resultSet.next();
- sql.close();
- resultSet.close();
- return false;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
- @EventHandler
- public void onPlayerLogin(PlayerLoginEvent event) {
- openConnection();
- try {
- int previousLogins = 0;
- if (playerDataCantainsPlayer(event.getPlayer())) {
- PreparedStatement sql = connection.prepareStatement("SELECT `logins` FROM `player_data` WHERE player=?;");
- sql.setString(1, event.getPlayer().getName());
- ResultSet result = sql.executeQuery();
- result.next();
- previousLogins = result.getInt("logins");
- PreparedStatement loginsUpdate = connection.prepareStatement("UPDATE `player_data` SET logins=? WHERE player=?;");
- loginsUpdate.setInt(1, previousLogins + 1);
- loginsUpdate.setString(2, event.getPlayer().getName());
- loginsUpdate.executeUpdate();
- loginsUpdate.close();
- sql.close();
- result.close();
- } else {
- PreparedStatement newPlayer = connection.prepareStatement("INSERT INTO `player_data` valeus(?)");
- newPlayer.setString(1, event.getPlayer().getName());
- newPlayer.execute();
- newPlayer.close();
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- closeConnection();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement