Package com.esprit.utils
Class DatabaseManager
java.lang.Object
com.esprit.utils.DatabaseManager
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic HibernateConfig.DatabaseType
Get current database typestatic String
Get current database connection URLstatic void
Initialize database schema (create tables if they don't exist)static boolean
Check if current database is H2static boolean
Check if current database is MySQLstatic boolean
Check if current database is PostgreSQLstatic boolean
Check if current database is SQLitestatic void
Switch to H2 in-memory database (for testing)static void
Switch to MySQL database with default settingsstatic void
Switch to MySQL databasestatic void
Switch to PostgreSQL database with default settingsstatic void
Switch to PostgreSQL databasestatic void
Switch to SQLite database with default settingsstatic void
switchToSQLite
(String databasePath) Switch to SQLite databasestatic boolean
Test database connection with current settingsprivate static void
updateDatabaseConfig
(HibernateConfig.DatabaseType dbType, String url, String username, String password) Update database configuration
-
Field Details
-
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
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
Get current database type -
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)
-