63 lines
1.9 KiB
Markdown
63 lines
1.9 KiB
Markdown
# Character Rune Handler Documentation
|
|||
|
|
|
||
|
|
## Overview
|
||
|
|
This document describes the database relationships and interactions for the `dbCharacterRuneHandler` class. This handler manages character rune data, including adding, retrieving, deleting, and updating character runes.
|
||
|
|
|
||
|
|
## Handler Class
|
||
|
|
**File:** `src/engine/db/handlers/dbCharacterRuneHandler.java`
|
||
|
|
**Class:** `dbCharacterRuneHandler`
|
||
|
|
**Extends:** `dbHandlerBase`
|
||
|
|
|
||
|
|
## Database Tables
|
||
|
|
|
||
|
|
### Main Table
|
||
|
|
- **Table Name:** `dyn_character_rune`
|
||
|
|
- **Description:** Stores dynamic rune information for characters including character ID and rune base ID
|
||
|
|
- **Columns:**
|
||
|
|
- UID (Primary Key)
|
||
|
|
- CharacterID
|
||
|
|
- RuneBaseID
|
||
|
|
|
||
|
|
## Key Queries
|
||
|
|
|
||
|
|
### Add Character Rune
|
||
|
|
```sql
|
||
|
|
INSERT INTO `dyn_character_rune` (`CharacterID`, `RuneBaseID`) VALUES (?, ?);
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterRuneHandler.java`, Line ~20
|
||
|
|
|
||
|
|
### Get Character Rune by ID
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `dyn_character_rune` WHERE `UID`=?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterRuneHandler.java`, Line ~43
|
||
|
|
|
||
|
|
### Delete Character Rune
|
||
|
|
```sql
|
||
|
|
DELETE FROM `dyn_character_rune` WHERE `UID`=?;
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterRuneHandler.java`, Line ~61
|
||
|
|
|
||
|
|
### Get All Runes for Character
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `dyn_character_rune` WHERE `CharacterID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterRuneHandler.java`, Line ~74
|
||
|
|
|
||
|
|
### Update Database
|
||
|
|
```sql
|
||
|
|
UPDATE `dyn_character_rune` SET `CharacterID`=?, `RuneBaseID`=? WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterRuneHandler.java`, Line ~91
|
||
|
|
|
||
|
|
## Relationships
|
||
|
|
|
||
|
|
1. **Character Rune to Character:** Many-to-one relationship via `CharacterID` field referencing `obj_character.UID`
|
||
|
|
2. **Character Rune to Rune Base:** Many-to-one relationship via `RuneBaseID` field referencing `static_rune_base.ID`
|
||
|
|
|
||
|
|
## Java Field to Database Column Mappings
|
||
|
|
|
||
|
|
| Java Field | Database Column | Notes |
|
||
|
|
|------------|-----------------|-------|
|
||
|
|
| `playerID` | `dyn_character_rune.CharacterID` | Reference to character |
|
||
|
|
| `runeBaseID` | `dyn_character_rune.RuneBaseID` | Reference to rune base |
|