Advertisement
Guest User

Untitled

a guest
Sep 16th, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. package pl.mateam.marpg.engine.core.internal;
  2.  
  3. public class CoreSQL {
  4. public static final String TABLE_USERS = "`Users`";
  5. public static final String FIELD_USERS_NAME = "`nickname`";
  6. public static final String FIELD_USERS_PASSWORD = "`password`";
  7. public static final String FIELD_USERS_LASTSEEN = "`last_seen`";
  8.  
  9. public static final String TABLE_PLAYERS = "`Players`";
  10. public static final String FIELD_PLAYERS_ISWOMAN = "`iswoman`";
  11.  
  12. public static final String TABLE_GAMEMASTERS = "`Gamemasters`";
  13. public static final String FIELD_GAMEMASTERS_IP = "`last_ip`";
  14.  
  15. public static final String TABLE_BANS = "`Bans`";
  16. public static final String FIELD_BANS_WHOBANNED = "`who_banned`";
  17. public static final String FIELD_BANS_REASON = "`reason`";
  18. public static final String FIELD_BANS_DATE = "`date`";
  19. public static final String FIELD_BANS_EXPIRES = "`expires`";
  20.  
  21.  
  22.  
  23. private static final String INSERTION_USER = "INSERT INTO " + TABLE_USERS + " VALUES (?, ?, ?);";
  24.  
  25.  
  26. public static final String TRANSACTION_INSERTION_PLAYER = buildTransaction(
  27. INSERTION_USER,
  28. "INSERT INTO " + TABLE_PLAYERS + " VALUES (?, 0);"); //0 stands for "male"
  29.  
  30. public static final String TRANSACTION_INSERTION_GAMEMASTER = buildTransaction(
  31. INSERTION_USER,
  32. "INSERT INTO " + TABLE_GAMEMASTERS + " VALUES (?);");
  33.  
  34.  
  35. public static final String RETRIEVAL_GAMEMASTERS = "SELECT * FROM " + TABLE_GAMEMASTERS + ";";
  36. public static final String RETRIEVAL_GAMEMASTER = buildCondition(RETRIEVAL_GAMEMASTERS, FIELD_USERS_NAME + " = ?");
  37. public static final String RETRIEVAL_PLAYERS =
  38. "SELECT * FROM " + TABLE_PLAYERS
  39. + " LEFT JOIN " + TABLE_BANS
  40. + " ON " + field(TABLE_PLAYERS, FIELD_USERS_NAME)
  41. + " = " + field(TABLE_BANS, FIELD_USERS_NAME);
  42. public static final String RETRIEVAL_PLAYER = buildCondition(RETRIEVAL_PLAYERS, field(TABLE_PLAYERS, FIELD_USERS_NAME) + " = ?");
  43.  
  44.  
  45.  
  46.  
  47. private static String buildTransaction(String... statements) {
  48. StringBuilder builder = new StringBuilder("START TRANSACTION;");
  49. for(String statement : statements)
  50. builder.append(statement);
  51. builder.append("COMMIT;");
  52. return builder.toString();
  53. }
  54.  
  55. public static String field(String tableName, String fieldName) {
  56. return tableName + "." + fieldName;
  57. }
  58.  
  59. public static String buildCondition(String statementWithoutCondition, String condition) {
  60. if(condition == null)
  61. return statementWithoutCondition;
  62. statementWithoutCondition.replaceAll(";", "");
  63. StringBuilder builder = new StringBuilder(statementWithoutCondition);
  64. builder.append(" WHERE ");
  65. builder.append(condition);
  66. builder.append(";");
  67. return builder.toString();
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement