← ClaudeAtlas

generate-database-managerlisted

為 Bukkit/Paper 插件產生 SQLite/MySQL 雙模式 DatabaseManager 類別,使用 HikariCP 連線池,含非同步查詢封裝、資料表初始化、CRUD 操作範例,以及 pom.xml 依賴設定。當使用者說「幫我建立資料庫管理器」、「DatabaseManager」、「SQLite 插件」、「MySQL HikariCP」時自動應用。
MrPippi/MJP-Claude-Skills · ★ 1 · Data & Documents · score 70
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Generate Database Manager Skill ## 目標 產生支援 SQLite(單機)與 MySQL(伺服器)雙模式切換的 `DatabaseManager` 類別,使用 HikariCP 連線池管理資料庫連線,並提供非同步查詢包裝以避免阻塞主執行緒。 --- ## 使用流程 1. **詢問基本資訊**:插件名稱、套件名、是否需要範例資料表 2. **更新 pom.xml**:加入 HikariCP 與 SQLite/MySQL 驅動依賴 3. **產生 DatabaseManager.java**:含連線池初始化、資料表建立、CRUD 操作 4. **說明設定方式**:`config.yml` 中的 `storage-type` 切換 --- ## pom.xml 依賴 ```xml <!-- HikariCP 連線池 --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>5.1.0</version> <scope>compile</scope> </dependency> <!-- SQLite 驅動(單機模式) --> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.46.1.3</version> <scope>compile</scope> </dependency> <!-- MySQL 驅動(伺服器模式,可選) --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>9.0.0</version> <scope>compile</scope> </dependency> ``` 注意:HikariCP 與 JDBC 驅動需透過 `maven-shade-plugin` 打包進 JAR。 --- ## 代碼範本 ### DatabaseManager.java ```java package com.example.myplugin.managers; import com.example.myplugin.MyPlugin; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import org.bukkit.scheduler.BukkitRunnable; import java.io.File; import java.sql.*; import java.util.concurrent.CompletableFuture; import java.util.logging.Level; public class DatabaseManager { private final MyPlugin plugin; private HikariDataSource dataSource; public DatabaseManager(MyPlug