Created
June 30, 2018 21:03
-
-
Save Copystrike/0c64f5389da7ba256df0a06c0b31af9e to your computer and use it in GitHub Desktop.
first time i do this
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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