DataManager is a simple library plugin for PowerNukkitX Minecraft Bedrock core, that will help you to create and manage your SQL connections with ease.
$ git clone https://github.com/hteppl/DataManager
$ cd DataManager
$ mvn clean package
If any plugin requires a DataManager, you just need to download and put it in plugins
folder. Usually it will be
enough. Also, you can configure some default database settings in config.yml
.
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.hteppl</groupId>
<artifactId>DataManager</artifactId>
<version>2.2.0-SNAPSHOT</version>
</dependency>
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.hteppl:DataManager:2.2.0-SNAPSHOT'
}
Default plugin config.yml
settings.
# sqlite directory name for anonymous databases
# set empty, for creating database file in plugin's folder by default
sqlite-directory: "database"
# default mysql connection properties
mysql-properties: "useSSL=false&autoReconnect=true&useUnicode=true&serverTimezone=UTC"
# Hikari connection pool settings (https://github.com/brettwooldridge/HikariCP)
hikari:
auto-commit: true
connection-timeout: 30000
idle-timeout: 600000
keepalive-time: 0
max-lifetime: 1800000
maximum-pool-size: 10
Firstly we recommend to read:
Very basic example of MySQL database class:
import me.hteppl.data.database.MySQLDatabase;
import org.jdbi.v3.core.Handle;
public class MyDatabase extends MySQLDatabase {
public MyDatabase() {
super("host", "database", "user", "password");
try (Handle handle = this.getHandle()) {
handle.createUpdate("...")
.bind("var1", "data1")
.bind("var2", "data2")
.execute();
}
}
}
Example of SQLite database class:
import me.hteppl.data.database.SQLiteDatabase;
import org.jdbi.v3.core.Handle;
public class MyDatabase extends SQLiteDatabase {
public MyDatabase() {
super("database");
try (Handle handle = this.getHandle()) {
handle.createUpdate("...")
.bind("var1", "data1")
.bind("var2", "data2")
.execute();
}
}
}
After that, you can easily do what you want with your Jdbi handles:
/* import your database class */
public class Main {
public static void main(String[] args) {
MyDatabase database = new MyDatabase();
try (Handle handle = database.getHandle()) {
handle.createUpdate("...")
.bind("var1", "data1")
.bind("var2", "data2")
.execute();
}
}
}
PowerNukkitX is a branch version based on PowerNukkit, developed and maintained by PowerNukkitX.
MariaDB Connector MariaDB Connector/J is a Type 4 JDBC driver. It was developed specifically as a lightweight JDBC connector for use with MariaDB and MySQL database servers.
Jdbi The Jdbi library provides convenient, idiomatic access to relational databases in Java.
HikariCP is a "zero-overhead" production ready JDBC connection pool. At roughly 130Kb, the library is very light.
This project is licensed under the MIT License