起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
主なメソッド
主なフィールド
Minigame Dao に関するDBアクセスを担当します。
com.example.rankingplugin.minigame.dbminigame/db/MinigameDao.javaclassクラス直前の Javadoc は見つかりませんでした。ソースとメソッド構成から責務を補完しています。
Minigame Dao に関するDBアクセスを担当します。minigame.db パッケージの 小〜中規模クラスで、永続化境界を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。
MinigameDaoinitTablesrecordScorecurrentSeasontopLinespersonalBestDesctopLinesDesc初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
メモリ状態と保存状態を揃え、結果を次の呼び出しや画面表示へ繋ぐ部分です。
DB テーブルとの境界です。スキーマ変更や保存漏れの切り分けはここから行います。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
SQL 文字列から抽出できた主要テーブルです。スキーマ変更時の確認用です。
| Visibility | Type | Name | 役割 |
|---|---|---|---|
private | DataSource | ds | DB 接続元を保持します。 |
| Signature | 説明 | 主要呼び出し |
|---|---|---|
public MinigameDao(DataSource ds) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | 主要呼び出しなし |
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| MinigameDao | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| initTables | public | メソッド | 初期化と各種登録を行い、機能を有効化します。 |
| currentSeason | public | メソッド | 月次シーズン(例: 2025-08) |
| recordScore | public | メソッド | DB への問い合わせまたは更新処理を担当します。 |
| topLines | public | メソッド | 旧:タイムアタック用(小さい方が良い) |
| personalBestDesc | public | メソッド | 個人ベスト(降順=大きいほど良い)。 |
| topLinesDesc | public | メソッド | 降順トップ表示。 |
public MinigameDao(DataSource ds)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
DataSource dsなし
public void initTables() throws SQLException初期化と各種登録を行い、機能を有効化します。
SQLException
public static String currentSeason()月次シーズン(例: 2025-08)
なし
public void recordScore(String gameId, String arenaId, UUID player, String name, double value, String metaJson, String season)DB への問い合わせまたは更新処理を担当します。
String gameIdString arenaIdUUID playerString namedouble valueString metaJsonString seasonなし
public List<String> topLines(String gameId, String arenaId, String season, int limit)旧:タイムアタック用(小さい方が良い)
String gameIdString arenaIdString seasonint limitなし
public double personalBestDesc(String gameId, String arenaId, UUID player, String season)個人ベスト(降順=大きいほど良い)。
String gameIdString arenaIdUUID playerString seasonなし
public List<String> topLinesDesc(String gameId, String arenaId, String season, int limit)降順トップ表示。
String gameIdString arenaIdString seasonint limitなし
initTables → getConnection → createStatement → execute → mg_score → varcharpersonalBestDesc → isBlank → coalesce → max → formatted → getConnectionrecordScore → getConnection → prepareStatement → mg_score → values → setStringtopLines → getConnection → prepareStatement → setString → setInt → maxtopLinesDesc → isBlank → max → formatted → getConnection → prepareStatement