Skip to content

Instantly share code, notes, and snippets.

@Copystrike
Created June 30, 2018 21:03
Show Gist options
  • Save Copystrike/0c64f5389da7ba256df0a06c0b31af9e to your computer and use it in GitHub Desktop.
Save Copystrike/0c64f5389da7ba256df0a06c0b31af9e to your computer and use it in GitHub Desktop.
first time i do this
package sample.server.mysql;
import sample.server.serverplayer.DataPlayer;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* Created by @Ikeetjeop aka Nick on 30-Jun-18.
*/
public class DatabaseUtil {
/*
Before you gonna check i want you to know this;
dataPlayers is going in another class;
And later i gonna add json so not everything has to store in the memory xD
Feels free to use it also lol :p
*/
private List<DataPlayer> dataPlayers = new ArrayList<>();
private Connection connection = null;
private PreparedStatement ptmt = null;
private ResultSet resultSet = null;
public Connection getConnection() {
Connection conn;
conn = ConnectionFactory.getInstance().getConnection();
return conn;
}
public void addNewPlayer(DataPlayer dataPlayer) {
try {
String queryString = "INSERT INTO playerdata(UUID, SessionID, NickName, Password, wins, loses) VALUES(?,?,?,?,?,?)";
connection = getConnection();
ptmt = connection.prepareStatement(queryString);
ptmt.setString(1, dataPlayer.getNickName());
ptmt.setString(2, dataPlayer.getSessionID());
ptmt.setString(3, dataPlayer.getNickName());
ptmt.setString(4, dataPlayer.getPassWord());
ptmt.setInt(5, dataPlayer.getWins());
ptmt.setInt(6, dataPlayer.getLoses());
ptmt.executeUpdate();
dataPlayers.add(new DataPlayer(dataPlayer.getUuid(), dataPlayer.getSessionID(), dataPlayer.getNickName(), dataPlayer.getPassWord(), dataPlayer.getWins(), dataPlayer.getLoses()));
System.out.println("Data Added Successfully");
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeMysqlConnection();
}
}
public void update(DataPlayer dataPlayer) {
try {
String queryString = "UPDATE playerdata set NickName=?, SessionID=?, NickName=?, Password=? where UUID";
connection = getConnection();
ptmt = connection.prepareStatement(queryString);
ptmt.setString(1, dataPlayer.getNickName());
ptmt.setString(2, dataPlayer.getSessionID());
ptmt.setString(3, dataPlayer.getPassWord());
ptmt.setString(4, dataPlayer.getUuid().toString());
ptmt.executeUpdate();
System.out.println("Table Updated Successfully");
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeMysqlConnection();
}
}
public void importBackFromMysql() {
try {
String queryString = "SELECT * FROM players";
connection = getConnection();
ptmt = connection.prepareStatement(queryString);
resultSet = ptmt.executeQuery();
List<DataPlayer> dataPlayerList = new ArrayList<>();
while (resultSet.next()) {
dataPlayerList.add(new DataPlayer(
UUID.fromString(resultSet.getString("UUID")),
resultSet.getString("SessionID"),
resultSet.getString("NickName"),
resultSet.getString("Password"),
resultSet.getInt("Wins"),
resultSet.getInt("Loses")));
}
dataPlayers = dataPlayerList;
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeMysqlConnection();
}
}
public void importBackByUUID(UUID uuid) {
try {
connection = getConnection();
ptmt = connection.prepareStatement("SELECT * FROM players WHERE UUID='" + uuid + "'");
resultSet = ptmt.executeQuery();
List<DataPlayer> dataPlayerList = new ArrayList<>();
if (resultSet.next()) {
dataPlayerList.add(new DataPlayer(
UUID.fromString(resultSet.getString("UUID")),
resultSet.getString("SessionID"),
resultSet.getString("NickName"),
resultSet.getString("Password"),
resultSet.getInt("Wins"),
resultSet.getInt("Loses")));
}
dataPlayers = dataPlayerList;
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeMysqlConnection();
}
}
private void closeMysqlConnection(){
try {
if (resultSet != null)
resultSet.close();
if (ptmt != null)
ptmt.close();
if (connection != null)
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment