From 8c4479189450af233b216d00b2e55017878950a0 Mon Sep 17 00:00:00 2001 From: CarmJos Date: Sun, 6 Feb 2022 01:10:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=BE=9D=E8=B5=96=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 19 +++-- .../storage/impl/MySQLStorage.java | 8 +- .../ultradepository/util/DatabaseTable.java | 77 +++++++++++++++++++ 3 files changed, 94 insertions(+), 10 deletions(-) create mode 100644 src/main/java/cc/carm/plugin/ultradepository/util/DatabaseTable.java diff --git a/pom.xml b/pom.xml index 9195518..1d64f27 100644 --- a/pom.xml +++ b/pom.xml @@ -5,8 +5,9 @@ 4.0.0 - 11 - 11 + 11 + ${java.version} + ${java.version} UTF-8 UTF-8 1.3.5 @@ -112,7 +113,9 @@ cc.carm.lib - easyplugin-database + easysql-beecp + 0.3.6 + compile true @@ -140,7 +143,7 @@ org.bstats bstats-bukkit - 2.2.1 + 3.0.0 compile @@ -213,8 +216,8 @@ maven-compiler-plugin 3.8.1 - 1.8 - 1.8 + ${java.version} + ${java.version} UTF-8 -parameters @@ -267,6 +270,10 @@ cc.carm.lib.easyplugin cc.carm.plugin.ultradepository.lib.easyplugin + + cc.carm.lib.easysql + cc.carm.plugin.ultradepository.lib.easysql + cc.carm.lib.githubreleases4j cc.carm.plugin.ultradepository.lib.github diff --git a/src/main/java/cc/carm/plugin/ultradepository/storage/impl/MySQLStorage.java b/src/main/java/cc/carm/plugin/ultradepository/storage/impl/MySQLStorage.java index 768da19..6730f00 100644 --- a/src/main/java/cc/carm/plugin/ultradepository/storage/impl/MySQLStorage.java +++ b/src/main/java/cc/carm/plugin/ultradepository/storage/impl/MySQLStorage.java @@ -1,12 +1,12 @@ package cc.carm.plugin.ultradepository.storage.impl; import cc.carm.lib.easyplugin.configuration.values.ConfigValue; -import cc.carm.lib.easyplugin.database.DatabaseTable; -import cc.carm.lib.easyplugin.database.EasySQL; -import cc.carm.lib.easyplugin.database.api.SQLManager; -import cc.carm.lib.easyplugin.database.api.action.query.PreparedQueryAction; +import cc.carm.lib.easysql.EasySQL; +import cc.carm.lib.easysql.api.SQLManager; +import cc.carm.lib.easysql.api.action.query.PreparedQueryAction; import cc.carm.plugin.ultradepository.UltraDepository; import cc.carm.plugin.ultradepository.data.UserData; +import cc.carm.plugin.ultradepository.util.DatabaseTable; import cc.carm.plugin.ultradepository.util.DateIntUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/cc/carm/plugin/ultradepository/util/DatabaseTable.java b/src/main/java/cc/carm/plugin/ultradepository/util/DatabaseTable.java new file mode 100644 index 0000000..933b395 --- /dev/null +++ b/src/main/java/cc/carm/plugin/ultradepository/util/DatabaseTable.java @@ -0,0 +1,77 @@ +package cc.carm.plugin.ultradepository.util; + +import cc.carm.lib.easysql.api.SQLManager; +import cc.carm.lib.easysql.api.action.PreparedSQLUpdateAction; +import cc.carm.lib.easysql.api.action.PreparedSQLUpdateBatchAction; +import cc.carm.lib.easysql.api.builder.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.sql.SQLException; + +public class DatabaseTable { + + private final @NotNull String tableName; + private final @NotNull String[] columns; + + @Nullable String tableSettings; + + public DatabaseTable(@NotNull String tableName, @NotNull String[] columns) { + this(tableName, columns, null); + } + + public DatabaseTable(@NotNull String tableName, @NotNull String[] columns, + @Nullable String tableSettings) { + this.tableName = tableName; + this.columns = columns; + this.tableSettings = tableSettings; + } + + public @NotNull String getTableName() { + return tableName; + } + + public @NotNull String[] getColumns() { + return columns; + } + + public @Nullable String getTableSettings() { + return tableSettings; + } + + public int createTable(SQLManager sqlManager) throws SQLException { + TableCreateBuilder createAction = sqlManager.createTable(getTableName()); + createAction.setColumns(getColumns()); + if (getTableSettings() != null) createAction.setTableSettings(getTableSettings()); + return createAction.build().execute(); + } + + public TableQueryBuilder createQuery(SQLManager sqlManager) { + return sqlManager.createQuery().inTable(getTableName()); + } + + public DeleteBuilder createDelete(SQLManager sqlManager) { + return sqlManager.createDelete(getTableName()); + } + + public UpdateBuilder createUpdate(SQLManager sqlManager) { + return sqlManager.createUpdate(getTableName()); + } + + public InsertBuilder createInsert(SQLManager sqlManager) { + return sqlManager.createInsert(getTableName()); + } + + public InsertBuilder createInsertBatch(SQLManager sqlManager) { + return sqlManager.createInsertBatch(getTableName()); + } + + public ReplaceBuilder createReplace(SQLManager sqlManager) { + return sqlManager.createReplace(getTableName()); + } + + public ReplaceBuilder createReplaceBatch(SQLManager sqlManager) { + return sqlManager.createReplaceBatch(getTableName()); + } + +}