parent
c8a82fd858
commit
388a5d86d0
8 changed files with 257 additions and 12 deletions
@ -1,9 +0,0 @@ |
|||||||
package xyz.soukup.mineconomiaCoreV2.core; |
|
||||||
|
|
||||||
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; |
|
||||||
|
|
||||||
public class database { |
|
||||||
private void createDefaultTables(){ |
|
||||||
String database = config.getString(""); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +1,14 @@ |
|||||||
package xyz.soukup.mineconomiaCoreV2.core; |
package xyz.soukup.mineconomiaCoreV2.core; |
||||||
|
|
||||||
|
import org.bukkit.Bukkit; |
||||||
import org.bukkit.configuration.file.FileConfiguration; |
import org.bukkit.configuration.file.FileConfiguration; |
||||||
|
import org.bukkit.plugin.java.JavaPlugin; |
||||||
import xyz.soukup.mineconomiaCoreV2.MineconomiaCoreV2; |
import xyz.soukup.mineconomiaCoreV2.MineconomiaCoreV2; |
||||||
|
|
||||||
import java.util.logging.Logger; |
import java.util.logging.Logger; |
||||||
|
|
||||||
public class sharedValues { |
public class sharedValues { |
||||||
public static MineconomiaCoreV2 plugin = MineconomiaCoreV2.getPlugin(MineconomiaCoreV2.class); |
public static MineconomiaCoreV2 plugin = MineconomiaCoreV2.getInstance(); |
||||||
public static FileConfiguration config = plugin.getConfig(); |
public static FileConfiguration config = plugin.getConfig(); |
||||||
public static Logger logger = plugin.getLogger(); |
public static Logger logger = plugin.getLogger(); |
||||||
} |
} |
||||||
|
|||||||
@ -0,0 +1,132 @@ |
|||||||
|
package xyz.soukup.mineconomiaCoreV2.database; |
||||||
|
|
||||||
|
import jakarta.persistence.Query; |
||||||
|
import jakarta.persistence.criteria.CriteriaBuilder; |
||||||
|
import jakarta.persistence.criteria.CriteriaQuery; |
||||||
|
import org.bukkit.scoreboard.Criteria; |
||||||
|
import org.hibernate.Session; |
||||||
|
import org.hibernate.SessionFactory; |
||||||
|
import org.hibernate.Transaction; |
||||||
|
import org.hibernate.boot.MetadataSources; |
||||||
|
import org.hibernate.boot.model.internal.QueryBinder; |
||||||
|
import org.hibernate.boot.registry.StandardServiceRegistry; |
||||||
|
import org.hibernate.boot.registry.StandardServiceRegistryBuilder; |
||||||
|
import xyz.soukup.mineconomiaCoreV2.core.sharedValues; |
||||||
|
import xyz.soukup.mineconomiaCoreV2.variables.PlayerData; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Objects; |
||||||
|
import java.util.Properties; |
||||||
|
|
||||||
|
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; |
||||||
|
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.logger; |
||||||
|
|
||||||
|
public class HibernateUtil { |
||||||
|
private static SessionFactory sessionFactory; |
||||||
|
|
||||||
|
static { |
||||||
|
|
||||||
|
try { |
||||||
|
|
||||||
|
StandardServiceRegistry registry = new StandardServiceRegistryBuilder() |
||||||
|
.applySettings(getHibernateProperties()) |
||||||
|
.build(); |
||||||
|
|
||||||
|
sessionFactory = new MetadataSources(registry) |
||||||
|
.addAnnotatedClass(PlayerData.class) |
||||||
|
.buildMetadata() |
||||||
|
.buildSessionFactory(); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
|
||||||
|
sharedValues.logger.warning(e.toString()); |
||||||
|
|
||||||
|
if (sessionFactory != null) { |
||||||
|
sessionFactory.close(); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
private static Properties getHibernateProperties() { |
||||||
|
|
||||||
|
String host = config.getString("database.host"); |
||||||
|
String port = config.getString("database.port"); |
||||||
|
String user = config.getString("database.user"); |
||||||
|
String password = config.getString("database.password"); |
||||||
|
String database = config.getString("database.database"); |
||||||
|
|
||||||
|
String jdbcString = "jdbc:mysql://" + host + ":" + port + "/" + database; |
||||||
|
|
||||||
|
Properties properties = new Properties(); |
||||||
|
properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); |
||||||
|
properties.put("hibernate.connection.driver_class", "com.mysql.cj.jdbc.Driver"); |
||||||
|
properties.put("hibernate.connection.url", jdbcString); |
||||||
|
properties.put("hibernate.connection.username", user); |
||||||
|
properties.put("hibernate.connection.password", password); |
||||||
|
properties.put("hibernate.hbm2ddl.auto", "update"); |
||||||
|
properties.put("hibernate.show_sql", "true"); |
||||||
|
return properties; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public static SessionFactory getSessionFactory() { |
||||||
|
return sessionFactory; |
||||||
|
} |
||||||
|
|
||||||
|
public static Session newSession(){ |
||||||
|
return getSessionFactory().openSession(); |
||||||
|
} |
||||||
|
|
||||||
|
public static void shutdown() { |
||||||
|
if (sessionFactory != null) { |
||||||
|
sessionFactory.close(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public static void saveToDatabase(Object object){ |
||||||
|
|
||||||
|
Session session = HibernateUtil.newSession(); |
||||||
|
Transaction transaction = null; |
||||||
|
|
||||||
|
try { |
||||||
|
|
||||||
|
transaction = session.beginTransaction(); |
||||||
|
session.persist(object); |
||||||
|
transaction.commit(); |
||||||
|
session.close(); |
||||||
|
|
||||||
|
}catch (Exception e){ |
||||||
|
|
||||||
|
if (transaction != null) { |
||||||
|
transaction.rollback(); // Rollback if something goes wrong
|
||||||
|
} |
||||||
|
|
||||||
|
logger.warning(e.toString()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/* NEFUNKČNÍ NECHAT ZATÍM |
||||||
|
public static List executeQuery(Query query){ |
||||||
|
Session session = HibernateUtil.newSession(); |
||||||
|
Transaction transaction = null; |
||||||
|
try { |
||||||
|
|
||||||
|
transaction = session.beginTransaction(); |
||||||
|
List list = query.getResultList(); |
||||||
|
session.close(); |
||||||
|
return list; |
||||||
|
|
||||||
|
}catch (Exception e){ |
||||||
|
|
||||||
|
if (transaction != null) { |
||||||
|
transaction.rollback(); // Rollback if something goes wrong
|
||||||
|
} |
||||||
|
|
||||||
|
logger.warning(e.toString()); |
||||||
|
} |
||||||
|
return null; |
||||||
|
}*/ |
||||||
|
} |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
package xyz.soukup.mineconomiaCoreV2.database; |
||||||
|
|
||||||
|
import xyz.soukup.mineconomiaCoreV2.variables.PlayerData; |
||||||
|
|
||||||
|
|
||||||
|
public class PlayerDataDatabase { |
||||||
|
|
||||||
|
public static void savePlayerDataToDatabase(PlayerData playerData){ |
||||||
|
HibernateUtil.saveToDatabase(playerData); |
||||||
|
} |
||||||
|
|
||||||
|
public static PlayerData getPlayerDataFromDatabase(String nickname){ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,5 @@ |
|||||||
|
package xyz.soukup.mineconomiaCoreV2.database; |
||||||
|
|
||||||
|
public class PlayerInit { |
||||||
|
public static void onJoin(){} |
||||||
|
} |
||||||
@ -0,0 +1,61 @@ |
|||||||
|
package xyz.soukup.mineconomiaCoreV2.variables; |
||||||
|
|
||||||
|
import jakarta.persistence.Entity; |
||||||
|
import jakarta.persistence.GeneratedValue; |
||||||
|
import jakarta.persistence.GenerationType; |
||||||
|
import jakarta.persistence.Id; |
||||||
|
|
||||||
|
//Definování Member classy pro databázi a další manipulace
|
||||||
|
|
||||||
|
@Entity |
||||||
|
public class PlayerData { |
||||||
|
|
||||||
|
@Id |
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||||
|
private int id; |
||||||
|
|
||||||
|
private String nickname; |
||||||
|
private String uuid; |
||||||
|
private int online; |
||||||
|
private float money; |
||||||
|
|
||||||
|
public int getId() { |
||||||
|
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public void setId(int id) { |
||||||
|
this.id = id; |
||||||
|
} |
||||||
|
|
||||||
|
public String getNickname() { |
||||||
|
return nickname; |
||||||
|
} |
||||||
|
|
||||||
|
public void setNickname(String nickname) { |
||||||
|
this.nickname = nickname; |
||||||
|
} |
||||||
|
|
||||||
|
public String getUuid() { |
||||||
|
return uuid; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUuid(String uuid) { |
||||||
|
this.uuid = uuid; |
||||||
|
} |
||||||
|
|
||||||
|
public int getOnline() { |
||||||
|
return online; |
||||||
|
} |
||||||
|
|
||||||
|
public void setOnline(int online) { |
||||||
|
this.online = online; |
||||||
|
} |
||||||
|
|
||||||
|
public float getMoney() { |
||||||
|
return money; |
||||||
|
} |
||||||
|
|
||||||
|
public void setMoney(float money) { |
||||||
|
this.money = money; |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue