Skip to content

Commit 7e63da6

Browse files
committed
feat(Basic database API)
1 parent d59355f commit 7e63da6

11 files changed

Lines changed: 79 additions & 3 deletions

File tree

.idea/jarRepositories.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package de.codeblocksmc.codelib.api.databsae;
2+
3+
4+
import lombok.Getter;
5+
import org.bukkit.plugin.Plugin;
6+
7+
import java.util.WeakHashMap;
8+
9+
public class DBLib {
10+
private static WeakHashMap<Plugin, DBLib> instances = new WeakHashMap<>();
11+
12+
@Getter
13+
private DBLibConfig config;
14+
15+
public DBLib(DBLibConfig config) {
16+
this.config = config;
17+
}
18+
19+
20+
public static synchronized DBLib of(Plugin plugin, DBLibConfig config) {
21+
if (instances.containsKey(plugin)) return instances.get(plugin);
22+
DBLib lib = new DBLib(config);
23+
instances.put(plugin, lib);
24+
return lib;
25+
}
26+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package de.codeblocksmc.codelib.api.databsae;
2+
3+
import lombok.Builder;
4+
5+
@Builder
6+
public class DBLibConfig {
7+
private StorageProvider provider;
8+
private String host;
9+
private int port;
10+
private String username;
11+
private String password;
12+
private String databaseName;
13+
14+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package de.codeblocksmc.codelib.api.databsae;
2+
3+
public class DBSchema {
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package de.codeblocksmc.codelib.api.databsae;
2+
3+
public class DBTable {
4+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package de.codeblocksmc.codelib.api.databsae;
2+
3+
public enum StorageProvider {
4+
MYSQL,
5+
MARIADB,
6+
MSSQL,
7+
POSTGRESQL,
8+
ORACLE_SQL,
9+
H2,
10+
SQLITE
11+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package de.codeblocksmc.codelib.api.databsae;
2+
3+
public class TableColumn {
4+
}

src/main/java/de/codeblocksmc/codelib/api/databsae/MSSQLTemplate.java renamed to src/main/java/de/codeblocksmc/codelib/api/databsae/template/MSSQLTemplate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package de.codeblocksmc.codelib.api.databsae;
1+
package de.codeblocksmc.codelib.api.databsae.template;
22

3+
import de.codeblocksmc.codelib.api.databsae.DatabaseObject;
34
import lombok.Getter;
45

56
import java.sql.Connection;

src/main/java/de/codeblocksmc/codelib/api/databsae/MySQLTemplate.java renamed to src/main/java/de/codeblocksmc/codelib/api/databsae/template/MySQLTemplate.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package de.codeblocksmc.codelib.api.databsae;
1+
package de.codeblocksmc.codelib.api.databsae.template;
2+
3+
import de.codeblocksmc.codelib.api.databsae.DatabaseObject;
24

35
import java.sql.Connection;
46
import java.sql.DriverManager;

src/main/java/de/codeblocksmc/codelib/api/databsae/MySQLTemplateVelocity.java renamed to src/main/java/de/codeblocksmc/codelib/api/databsae/template/MySQLTemplateVelocity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package de.codeblocksmc.codelib.api.databsae;
1+
package de.codeblocksmc.codelib.api.databsae.template;
22

3+
import de.codeblocksmc.codelib.api.databsae.DatabaseObject;
34
import org.slf4j.Logger;
45

56
import java.sql.Connection;

0 commit comments

Comments
 (0)