Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.innos.rankingmaster.data;
- import java.io.File;
- import java.io.IOException;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.logging.Level;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import me.innos.rankingmaster.Main;
- import me.innos.rankingmaster.user.User;
- public class SQLiteData implements Data {
- private Connection conn = null;
- private Statement stat = null;
- private String fileName;
- private File file;
- private Main inst;
- public SQLiteData(String fileName, Main inst) {
- this.inst = inst;
- this.fileName = fileName;
- file = new File(inst.getDataFolder(), this.fileName + ".db");
- try {
- this.file.createNewFile();
- } catch (IOException e) {
- Bukkit.getLogger().log(Level.SEVERE, "An error occured while creating database.", e);
- }
- update("CREATE TABLE IF NOT EXISTS '" + this.fileName + "'"
- + "("
- + "uuid varchar(100),"
- + "points int(10),"
- + "kills int(10),"
- + "deaths int(10),"
- + "PRIMARY KEY (uuid)"
- + ");");
- }
- @Override
- public void createUser(Player p) {
- if(!userExists(p)) {
- saveUser(new User(inst, p.getUniqueId().toString(), p.getName(), 1000, 0, 0));
- }
- }
- @Override
- public void deleteUser(User u) {
- if(userExists(u.getPlayer())) {
- update("DELETE FROM " + this.fileName + " WHERE uuid = '" + u.getUuid() + "';");
- }
- }
- @Override
- public User getUser(Player p) {
- ResultSet rs = query("SELECT * FROM " + this.fileName + " WHERE uuid = '" + p.getUniqueId() + "';");
- try {
- return new User(inst, rs);
- } catch (SQLException e) {
- Bukkit.getLogger().log(Level.SEVERE, "An error occured while returning a user.", e);
- }
- return null;
- }
- @Override
- public boolean userExists(Player p) {
- ResultSet rs = query("SELECT * FROM " + this.fileName + " WHERE uuid = '" + p.getUniqueId() + "';");
- return rs != null;
- }
- @Override
- public void saveUser(User u) {
- update("INSERT INTO " + fileName + " (uuid, name, points, kills, deaths) VALUES (" +
- u.getUuid().toString() + ", " +
- u.getPoints() + ", " +
- u.getKills() + ", " +
- u.getDeaths() + ")" +
- "ON DUPLICATE KEY UPDATE " +
- "uuid='" + u.getUuid().toString() + "'," +
- "name='" + u.getName() + "'," +
- "points='" + u.getPoints() + "'," +
- "kills='" + u.getKills() + "'," +
- "deaths='" + u.getDeaths() + "';");
- }
- private ResultSet query(String query) {
- try {
- conn = DriverManager.getConnection("jdbc:sqlite:plugins/" + this.file.getParentFile().getName() + "/" + fileName + ".db");
- stat = conn.createStatement();
- ResultSet rs = stat.executeQuery(query);
- return rs;
- } catch (SQLException e) {
- Bukkit.getLogger().log(Level.SEVERE, "An error occured while executing a query.", e);
- }
- return null;
- }
- private void update(String update) {
- try {
- conn = DriverManager.getConnection("jdbc:sqlite:plugins/" + this.file.getParentFile().getName() + "/" + fileName + ".db");
- stat = conn.createStatement();
- stat.executeUpdate(update);
- stat.close();
- } catch (SQLException e) {
- Bukkit.getLogger().log(Level.SEVERE, "An error occured while executing a update.", e);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement