Class DatabaseManager

java.lang.Object
com.esprit.utils.DatabaseManager

public class DatabaseManager extends Object
Utility class for managing database connections and switching between different database types. Supports seamless switching between MySQL, SQLite, PostgreSQL, and H2.
Since:
1.0.0
Version:
1.0.0
Author:
RAKCHA Team
  • Field Details

    • LOGGER

      private static final Logger LOGGER
  • Constructor Details

    • DatabaseManager

      public DatabaseManager()
  • Method Details

    • switchToMySQL

      public static void switchToMySQL(String host, String port, String database, String username, String password)
      Switch to MySQL database
      Parameters:
      host - MySQL host (default: localhost)
      port - MySQL port (default: 3306)
      database - Database name (default: rakcha_db)
      username - MySQL username (default: root)
      password - MySQL password (default: empty)
    • switchToMySQL

      public static void switchToMySQL()
      Switch to MySQL database with default settings
    • switchToSQLite

      public static void switchToSQLite(String databasePath)
      Switch to SQLite database
      Parameters:
      databasePath - Path to SQLite database file (default: data/rakcha_db.sqlite)
    • switchToSQLite

      public static void switchToSQLite()
      Switch to SQLite database with default settings
    • switchToPostgreSQL

      public static void switchToPostgreSQL(String host, String port, String database, String username, String password)
      Switch to PostgreSQL database
      Parameters:
      host - PostgreSQL host (default: localhost)
      port - PostgreSQL port (default: 5432)
      database - Database name (default: rakcha_db)
      username - PostgreSQL username (default: postgres)
      password - PostgreSQL password (default: empty)
    • switchToPostgreSQL

      public static void switchToPostgreSQL()
      Switch to PostgreSQL database with default settings
    • switchToH2

      public static void switchToH2()
      Switch to H2 in-memory database (for testing)
    • updateDatabaseConfig

      private static void updateDatabaseConfig(HibernateConfig.DatabaseType dbType, String url, String username, String password)
      Update database configuration
    • getCurrentDatabaseType

      public static HibernateConfig.DatabaseType getCurrentDatabaseType()
      Get current database type
    • getCurrentDatabaseUrl

      public static String getCurrentDatabaseUrl()
      Get current database connection URL
    • isCurrentlyMySQL

      public static boolean isCurrentlyMySQL()
      Check if current database is MySQL
    • isCurrentlySQLite

      public static boolean isCurrentlySQLite()
      Check if current database is SQLite
    • isCurrentlyPostgreSQL

      public static boolean isCurrentlyPostgreSQL()
      Check if current database is PostgreSQL
    • isCurrentlyH2

      public static boolean isCurrentlyH2()
      Check if current database is H2
    • testConnection

      public static boolean testConnection()
      Test database connection with current settings
    • initializeSchema

      public static void initializeSchema()
      Initialize database schema (create tables if they don't exist)