Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.spongedev.hypexspawners.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.bukkit.Location;
- import org.bukkit.entity.EntityType;
- import me.spongedev.hypexspawners.Main;
- import me.spongedev.hypexspawners.Models.Spawner;
- import me.spongedev.hypexspawners.Models.TipoSpawners;
- public class SpawnerDAO extends DBConnector {
- /*try (Statement stm = connection.createStatement()) {
- stm.executeUpdate(String.format("create table %s (%s %s)", "my_table", "id", "varchar(32)");
- } catch (Error | Exception e) {
- e.printStackTrace();
- }*/
- public static void loadSpawners() {
- try {
- PreparedStatement statement = connection.prepareStatement("SELECT * FROM HypexSpawners");
- ResultSet results = statement.executeQuery();
- while (results.next()) {
- String loc = results.getString("Loc");
- String dono = results.getString("Dono");
- String tipo = results.getString("Tipo");
- int stack = results.getInt("Stack");
- Location loc2 = Spawner.desarializeLoc(loc);
- EntityType tipo2 = TipoSpawners.getEntityType(tipo);
- Spawner spawn = new Spawner(loc2, dono, tipo2, stack);
- Main.plugin.spawnerCache.add(spawn);
- }
- statement.close();
- results.close();
- }
- catch (SQLException ev) {
- ev.printStackTrace();
- }
- }
- public static void addSpawner(String loc, String dono, String tipo, int stack) {
- try {
- //Vai verificar se ja existe
- PreparedStatement statement = connection.prepareStatement("SELECT Loc FROM HypexSpawners WHERE Loc=?");
- statement.setString(1, loc);
- ResultSet results = statement.executeQuery();
- //se nao existir vai adiconar na base de dados
- if (!results.next()) {
- PreparedStatement statement2 = connection.prepareStatement("INSERT INTO HypexSpawners (Loc, Dono, Tipo, Stack) VALUES (?,?,?,?)");
- statement2.setString(1, loc);
- statement2.setString(2, dono);
- statement2.setString(3, tipo);
- statement2.setInt(4, stack);
- statement2.executeUpdate();
- statement2.close();
- }
- //Se existir vai atualizar o valor do stack caso necessario
- else {
- PreparedStatement statement3 = connection.prepareStatement("UPDATE HypexSpawners SET Stack=? WHERE Loc=?");
- statement3.setInt(1, stack);
- statement3.setString(2, loc);
- statement3.executeUpdate();
- statement3.close();
- }
- statement.close();
- results.close();
- }
- catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void deleteSpawner(String loc) {
- try {
- PreparedStatement statement = connection.prepareStatement("DELETE FROM HypexSpawners WHERE Loc=?");
- statement.setString(1, loc);
- statement.executeUpdate();
- statement.close();
- }
- catch (SQLException ev) {
- ev.printStackTrace();
- }
- }
- public static void saveSpawners() {
- if (!Main.plugin.spawnerCache.isEmpty()) {
- for (Spawner spawner : Main.plugin.spawnerCache) {
- String loc = Spawner.serializeLoc(spawner.getLoc());
- String tipo = TipoSpawners.getTipoString(spawner.getTipo());
- addSpawner(loc, spawner.getDono(), tipo, spawner.getStackados());
- }
- DBConnector.closeConnection();
- }
- else {
- DBConnector.closeConnection();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement