@ -12,7 +12,12 @@ package engine.db.handlers;
@@ -12,7 +12,12 @@ package engine.db.handlers;
import engine.Enum ;
import engine.gameManager.DbManager ;
import engine.objects.CharacterRune ;
import org.pmw.tinylog.Logger ;
import java.sql.Connection ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
import java.sql.SQLException ;
import java.util.ArrayList ;
public class dbCharacterRuneHandler extends dbHandlerBase {
@ -23,41 +28,98 @@ public class dbCharacterRuneHandler extends dbHandlerBase {
@@ -23,41 +28,98 @@ public class dbCharacterRuneHandler extends dbHandlerBase {
}
public CharacterRune ADD_CHARACTER_RUNE ( final CharacterRune toAdd ) {
prepareCallable ( "INSERT INTO `dyn_character_rune` (`CharacterID`, `RuneBaseID`) VALUES (?, ?);" ) ;
setLong ( 1 , ( long ) toAdd . getPlayerID ( ) ) ;
setInt ( 2 , toAdd . getRuneBaseID ( ) ) ;
int runeID = insertGetUUID ( ) ;
return GET_CHARACTER_RUNE ( runeID ) ;
CharacterRune characterRune = null ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "INSERT INTO `dyn_character_rune` (`CharacterID`, `RuneBaseID`) VALUES (?, ?);" ) ) {
preparedStatement . setLong ( 1 , toAdd . getPlayerID ( ) ) ;
preparedStatement . setInt ( 2 , toAdd . getRuneBaseID ( ) ) ;
preparedStatement . executeUpdate ( ) ;
ResultSet rs = preparedStatement . getGeneratedKeys ( ) ;
if ( rs . next ( ) )
characterRune = GET_CHARACTER_RUNE ( rs . getInt ( 1 ) ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
}
return characterRune ;
}
public CharacterRune GET_CHARACTER_RUNE ( int runeID ) {
CharacterRune charRune = ( CharacterRune ) DbManager . getFromCache ( Enum . GameObjectType . CharacterRune , runeID ) ;
if ( charRune ! = null )
return charRune ;
prepareCallable ( "SELECT * FROM `dyn_character_rune` WHERE `UID`=?" ) ;
setInt ( 1 , runeID ) ;
return ( CharacterRune ) getObjectSingle ( runeID ) ;
CharacterRune characterRune = ( CharacterRune ) DbManager . getFromCache ( Enum . GameObjectType . CharacterRune , runeID ) ;
if ( characterRune ! = null )
return characterRune ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT * FROM `dyn_character_rune` WHERE `UID`=?" ) ) {
preparedStatement . setInt ( 1 , runeID ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
characterRune = ( CharacterRune ) getObjectFromRs ( rs ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
}
return characterRune ;
}
public boolean DELETE_CHARACTER_RUNE ( final CharacterRune characterRune ) {
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "DELETE FROM `dyn_character_rune` WHERE `UID`=?;" ) ) {
preparedStatement . setLong ( 1 , characterRune . getObjectUUID ( ) ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
public boolean DELETE_CHARACTER_RUNE ( final CharacterRune cr ) {
prepareCallable ( "DELETE FROM `dyn_character_rune` WHERE `UID`=?;" ) ;
setLong ( 1 , ( long ) cr . getObjectUUID ( ) ) ;
return ( executeUpdate ( ) ! = 0 ) ;
}
public ArrayList < CharacterRune > GET_RUNES_FOR_CHARACTER ( final int characterId ) {
prepareCallable ( "SELECT * FROM `dyn_character_rune` WHERE `CharacterID` = ?" ) ;
setInt ( 1 , characterId ) ;
return getObjectList ( ) ;
ArrayList < CharacterRune > characterRunes = new ArrayList < > ( ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT * FROM `dyn_character_rune` WHERE `CharacterID` = ?" ) ) {
preparedStatement . setInt ( 1 , characterId ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
characterRunes = getObjectsFromRs ( rs , 10 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
}
return characterRunes ;
}
public void updateDatabase ( final CharacterRune cr ) {
prepareCallable ( "UPDATE `dyn_character_rune` SET `CharacterID`=?, `RuneBaseID`=? WHERE `UID` = ?" ) ;
setInt ( 1 , cr . getPlayerID ( ) ) ;
setInt ( 2 , cr . getRuneBaseID ( ) ) ;
setLong ( 3 , ( long ) cr . getObjectUUID ( ) ) ;
executeUpdate ( ) ;
public void updateDatabase ( final CharacterRune characterRune ) {
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE `dyn_character_rune` SET `CharacterID`=?, `RuneBaseID`=? WHERE `UID` = ?" ) ) {
preparedStatement . setInt ( 1 , characterRune . getPlayerID ( ) ) ;
preparedStatement . setInt ( 2 , characterRune . getRuneBaseID ( ) ) ;
preparedStatement . setLong ( 3 , ( long ) characterRune . getObjectUUID ( ) ) ;
preparedStatement . execute ( ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
}
}
}