High Level Database Access: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>Hendrik Brummermann No edit summary |
imported>Hendrik Brummermann No edit summary |
||
| (34 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{Navigation for Marauroa Top| |
{{Navigation for Marauroa Top|Using}} |
||
{{Navigation for Marauroa Users}} |
{{Navigation for Marauroa Users}} |
||
| Line 15: | Line 15: | ||
== Data Access Objects == |
== Data Access Objects == |
||
In compliance to the Marauroa architecture, database access related code is not spread all over the code base but concentrated in a set of data access objects (DAO). There is JavaDoc available for the complete [http:// |
In compliance to the Marauroa architecture, database access related code is not spread all over the code base but concentrated in a set of data access objects (DAO). There is JavaDoc available for the complete [http://stendhalgame.org/hudson/job/marauroa_HEAD/javadoc/marauroa/server/game/db/package-summary.html DAO package]. Note that games can add their own DAOs. |
||
So lets assume you want to log a gameEvent about a player logging out: |
So lets assume you want to log a gameEvent about a player logging out: |
||
| Line 38: | Line 38: | ||
DBTransaction transaction = TransactionPool.get().beginWork(); |
DBTransaction transaction = TransactionPool.get().beginWork(); |
||
try { |
try { |
||
DAORegister.get().get(GameEventDAO.class).addGameEvent(playerName, "saved"); |
DAORegister.get().get(GameEventDAO.class).addGameEvent(transaction, playerName, "saved"); |
||
DAORegister.get().get(GameEventDAO.class).addGameEvent(playerName, "logout"); |
DAORegister.get().get(GameEventDAO.class).addGameEvent(transaction, playerName, "logout"); |
||
} finally { |
} finally { |
||
TransactionPool.get().commit(transaction); |
TransactionPool.get().commit(transaction); |
||
| Line 46: | Line 46: | ||
Please note that commit() will automatically perform a rollback and throw an SQLException if there have been any errors. |
Please note that commit() will automatically perform a rollback and throw an SQLException if there have been any errors. |
||
{{#breadcrumbs: [[Marauroa]] | [[Navigation for Marauroa Users|Using]] | [[High Level Database Access]] }} |
|||