Add creating database

This commit is contained in:
SemvdH
2025-10-15 00:22:11 +02:00
parent 7b21588922
commit 920d691a8a
5 changed files with 80 additions and 3 deletions

1
.gitignore vendored
View File

@@ -36,6 +36,7 @@ buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
ic_plugin/settings.xml
# Eclipse m2e generated files
# Eclipse Core

View File

@@ -9,6 +9,8 @@
"files.encoding": "utf8",
"java.home": "/usr/lib/jvm/jdk-25",
"java.jdt.ls.vmargs": "-Dfile.encoding=UTF-8",
"javac-linter.javac": "javac -Dfile.encoding=UTF-8"
"javac-linter.javac": "javac -Dfile.encoding=UTF-8",
"java.configuration.updateBuildConfiguration": "automatic",
"java.format.settings.url": "eclipse-formatter.xml"
}
}

View File

@@ -57,6 +57,11 @@
<version>1.21.8-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.50.3.0</version>
</dependency>
</dependencies>
<build>
@@ -92,6 +97,12 @@
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
<configuration>
<systemPropertyVariables>
<db.username>${db.username}</db.username>
<db.password>${db.password}</db.password>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>

View File

@@ -1,14 +1,27 @@
package nl.interestingcorner;
import java.util.logging.Level;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import nl.interestingcorner.db.DatabaseManager;
public class App extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("Hello, SpigotMC!");
getLogger().info("Eyooo we boutta get lit!");
// saveDefaultConfig(); // create config.yml if not exists
if (!DatabaseManager.INSTANCE.initialize(this))
{
getLogger().severe("Could not initialize database. Exiting!");
System.exit(1);
}
}
@Override
public void onDisable() {
getLogger().info("See you again, SpigotMC!");
getLogger().info("Eyooo we outta here!");
}
}

View File

@@ -0,0 +1,50 @@
package nl.interestingcorner.db;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.plugin.java.JavaPlugin;
public enum DatabaseManager {
INSTANCE;
private Connection connection;
private JavaPlugin app;
public boolean initialize(JavaPlugin app) {
this.app = app;
if (!app.getDataFolder().exists()) {
if (!app.getDataFolder().mkdirs()) {
app.getLogger().severe("Could not create data folder");
return false;
}
}
File dbFile = new File(app.getDataFolder(), "database.db");
String url = "jdbc:sqlite:" + dbFile.getAbsolutePath();
try {
this.connection = DriverManager.getConnection(url);
}
catch (SQLException e) {
app.getLogger().log(Level.SEVERE, "Could not connect to database file {0}: {1}",
new Object[] { dbFile, e.getMessage() });
}
app.getLogger().log(Level.INFO, "Connected to SQLite database: {0}", dbFile.getName());
return true;
}
}