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.List;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import me.innos.rankingmaster.Main;
- import me.innos.rankingmaster.user.User;
- import me.innos.rankingmaster.util.Config;
- public class SQLiteData implements Data {
- private Connection conn = null;
- private Statement stat = null;
- private File main = new Main().getDataFolder();
- private String fileName;
- private File file;
- public SQLiteData(String fileName) {
- this.fileName = fileName;
- file = new File(main, this.fileName + ".db");
- try {
- this.file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- Bukkit.getScheduler().runTaskTimerAsynchronously(new Main(), new Runnable() {
- @Override
- public void run() {
- saveUsers();
- }
- }, 20 * 10, 20 * 60 * new Config().databaseAutoSaveTime);
- }
- @Override
- public void createUser(Player p) {
- if(!userExists(p)) {
- new Main().getUsers().add(new User(p));
- }
- }
- @Override
- public void deleteUser(User u) {
- if(userExists(u.getPlayer())) {
- new Main().getUsers().remove(u);
- }
- }
- @Override
- public User getUser(Player p) {
- for(User u : new Main().getUsers()) {
- if(u.getPlayer().equals(p)) return u;
- }
- return null;
- }
- @Override
- public boolean userExists(Player p) {
- for(User u : new Main().getUsers()) {
- if(u.equals(new User(p))) return true;
- }
- return false;
- }
- @Override
- public void saveUser(User u) {
- update("INSERT INTO " + fileName + " (id, uuid, name, points, kills, deaths) VALUES (" +
- u.getId() + ", " +
- u.getUuid().toString() + ", " +
- u.getPoints() + ", " +
- u.getKills() + ", " +
- u.getDeaths() + ")");
- }
- @Override
- public void saveUsers() {
- update("create table if not exists " + fileName + "(" +
- "id int not null," +
- "uuid varchar(100) not null," +
- "name varchar(50) not null," +
- "points int not null," +
- "kills int not null," +
- "deaths int not null," +
- "primary key(id));");
- for(User u : new Main().getUsers()) saveUser(u);
- }
- @Override
- public List<User> loadUsers(){
- ResultSet rs = query("SELECT * FROM '" + fileName + "'");
- try {
- while(rs.next()){
- new Main().getUsers().add(new User(rs));
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return null;
- }
- public ResultSet query(String query) {
- try {
- conn = DriverManager.getConnection("jdbc:sqlite:plugins/" + new Main().getDescription().getName() + "/" + fileName + ".db");
- stat = conn.createStatement();
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- try {
- return stat.executeQuery(query);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return null;
- }
- public void update(String update) {
- try {
- conn = DriverManager.getConnection("jdbc:sqlite:plugins/" + new Main().getDescription().getName() + "/" + fileName + ".db");
- stat = conn.createStatement();
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- try {
- stat.executeUpdate(update);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement