Class BaseLettoMysqlService

java.lang.Object
at.letto.databaseclient.service.BaseLettoMysqlService

@Service public class BaseLettoMysqlService extends Object
  • Field Details

    • databaseConnectionService

      @Autowired private DatabaseConnectionService databaseConnectionService
    • logger

      private org.slf4j.Logger logger
  • Constructor Details

    • BaseLettoMysqlService

      public BaseLettoMysqlService()
  • Method Details

    • mysqlConnection

      public Connection mysqlConnection(String database, String user, String password)
      Liefert eine JDBC-Verbindung zu einer MySQL-Datebank am Letto-Mysql-Server
      Parameters:
      database - Datenbankname
      user - Benutzername
      password - Klartextpasswort
      Returns:
      SQL-Connection oder null wenn die Connection nicht funktioniert hat
    • mysqlUrlConnection

      public Connection mysqlUrlConnection(String url, String user, String password)
      Liefert eine JDBC-Verbindung zu einer MySQL-Datebank
      Parameters:
      url - Datenbank URL : jdbc:mysql://adresse:port/datebank
      user - Benutzername
      password - Klartextpasswort
      Returns:
      SQL-Connection oder null wenn die Connection nicht funktioniert hat
    • mysqlRootConnection

      public Connection mysqlRootConnection(String database)
      Liefert eine JDBC-Verbindung zu einer MySQL-Datebank am Letto-Mysql-Server
      Parameters:
      database - Datenbankname
      Returns:
      SQL-Connection oder null wenn die Connection nicht funktioniert hat
    • checklMysqlConnection

      public boolean checklMysqlConnection(String database, String user, String password)
      Prüft ob eine JDBC-Verbindung zu einer MySQL-Datebank am Letto-Mysql-Server möglich ist
      Parameters:
      database - Datenbankname
      user - Benutzername
      password - Klartextpasswort
      Returns:
      true wenn erfolgreich
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • checklMysqlUrlConnection

      public boolean checklMysqlUrlConnection(String url, String user, String password)
      Prüft ob eine JDBC-Verbindung zu einer MySQL-Datebank am Letto-Mysql-Server möglich ist
      Parameters:
      url - Datenbank URL : jdbc:mysql://adresse:port/datebank
      user - Benutzername
      password - Klartextpasswort
      Returns:
      true wenn erfolgreich
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • executeWithResultTable

      public Vector<Vector<String>> executeWithResultTable(Connection con, String sqlStatement) throws SQLException
      Führt ein SQL-Statement am SQL-Server aus und liefert das Ergebnis in einer Tabelle
      Parameters:
      con - MySQL-Server-Verbindung
      sqlStatement - SQL-Statement
      Returns:
      Ergebnis des Statements als Tabelle
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • execute

      public void execute(Connection con, String sqlStatement) throws SQLException
      Führt ein SQL-Statement aus ohne ein Ergebnis auszuwerten
      Parameters:
      con - MySQL-Server-Verbindung
      sqlStatement - SQL-Statement
      Throws:
      SQLException
    • executeMsg

      public String executeMsg(Connection con, String sqlStatement)
      Führt ein SQL-Statement aus ohne ein Ergebnis auszuwerten
      Parameters:
      con - MySQL-Server-Verbindung
      sqlStatement - SQL-Statement
      Returns:
      Leerstring wenn ok oder Fehlermeldung als String
    • executeQuery

      public Vector<Vector<String>> executeQuery(Connection con, String sqlStatement) throws SQLException
      Führt ein SQL-QUERY-Statement am SQL-Server aus und liefert das Ergebnis in einer Tabelle
      Parameters:
      con - MySQL-Server-Verbindung
      sqlStatement - SQL-Statement
      Returns:
      Ergebnis des Statements als Tabelle
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • quoteSql

      public String quoteSql(String data)
      Wenn in SQL-Statements Namen verwendet werden müssen diese innerhalb von einfachen Hochkomma gesetzt werden.
      enthält der Namen Backslashes oder einfache Hochkomman müssen diese korrekt verblockt werden
      Parameters:
      data - Name in der SQL-Datenbank
      Returns:
      mit einfachen Hochkomma verblockter Name
    • createUser

      public void createUser(Connection con, String username, String password) throws SQLException
      Erzeugt einen Benutzer welcher von allen Rechnern Zugriff hat
      Parameters:
      con - MySQL-Server-Verbindung
      username - Benutzername
      password - Klartextpasswort welches sha2-Verschlüsselt gespeichert wird
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • createUser

      public boolean createUser(String username, String password) throws SQLException
      Erzeugt einen Benutzer welcher von allen Rechnern Zugriff hat
      Parameters:
      username - Benutzername
      password - Klartextpasswort welches sha2-Verschlüsselt gespeichert wird
      Returns:
      true wenn alles funktioniert hat
      Throws:
      SQLException
    • createUserWithDatabaseAccess

      public void createUserWithDatabaseAccess(Connection con, String username, String password) throws SQLException
      Erzeugt einen Benutzer welcher von allen Rechnern Zugriff hat
      Setzt weiters alle Rechte auf die Datenbank 'username' und auf alle Datenbanken welche mit 'username_' beginnen
      Parameters:
      con - MySQL-Server-Verbindung
      username - Benutzername
      password - Klartextpasswort welches sha2-Verschlüsselt gespeichert wird
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • createUserWithDatabaseAccess

      public boolean createUserWithDatabaseAccess(String username, String password)
      Erzeugt einen Benutzer welcher von allen Rechnern Zugriff hat
      Setzt weiters alle Rechte auf die Datenbank 'username' und auf alle Datenbanken welche mit 'username_' beginnen
      Parameters:
      username - Benutzername
      password - Klartextpasswort welches sha2-Verschlüsselt gespeichert wird
      Returns:
      true wenn alles funktioniert hat
    • setAllRightsOnDatabase

      public void setAllRightsOnDatabase(Connection con, String database, String username) throws SQLException
      Setzt alle Rechte für einen Benutzer an der angegebenen Datenbank
      Parameters:
      con - MySQL-Server-Verbindung
      database - Datenbankname
      username - Benutzername
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • setAllRightsOnDatabase

      public boolean setAllRightsOnDatabase(String database, String username)
      Setzt alle Rechte für einen Benutzer an der angegebenen Datenbank
      Parameters:
      database - Datenbankname
      username - Benutzername
      Returns:
      true wenn alles funktioniert hat
    • setPassword

      public void setPassword(Connection con, String username, String password) throws SQLException
      Setzt das Passwort eines Benutzers
      Parameters:
      con - MySQL-Server-Verbindung
      username - Benutzername
      password - Passwort
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • setPassword

      public boolean setPassword(String username, String password) throws SQLException
      Setzt das Passwort eines Benutzers
      Parameters:
      username - Benutzername
      password - Passwort
      Returns:
      true wenn alles funktioniert hat
      Throws:
      SQLException
    • createDatabase

      public void createDatabase(Connection con, String database) throws SQLException
      Erzeugt eine neue Datenbank
      Parameters:
      con - MySQL-Server-Verbindung
      database - Datenbankname
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • createDatabase

      public boolean createDatabase(String database)
      Erzeugt eine neue Datenbank
      Parameters:
      database - Datenbankname
      Returns:
      true wenn alles funktioniert hat
    • recreateDatabase

      public void recreateDatabase(Connection con, String database) throws SQLException
      Erzeugt eine neue Datenbank und löscht sie vorher falls sie schon existiert
      Parameters:
      con - MySQL-Server-Verbindung
      database - Datenbankname
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • recreateDatabase

      public boolean recreateDatabase(String database)
      Erzeugt eine neue Datenbank und löscht sie vorher falls sie schon existiert
      Parameters:
      database - Datenbankname
      Returns:
      true wenn alles funktioniert hat
    • showDatabases

      public List<String> showDatabases(Connection con) throws SQLException
      Liefert eine Liste aller Datenbanken
      Parameters:
      con - MySQL-Server-Verbindung
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • showDatabases

      public List<String> showDatabases()
      Returns:
      Liefert eine Liste aller Datenbanken
    • existDatabase

      public boolean existDatabase(Connection con, String database) throws SQLException
      Prüft ob eine Datenbank existiert
      Parameters:
      con - MySQL-Server-Verbindung
      database - Datebankname
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • existDatabase

      public boolean existDatabase(String database)
      Prüft ob eine Datenbank existiert
      Parameters:
      database - Datebankname
    • showTables

      public List<String> showTables(Connection con) throws SQLException
      Liefert eine Liste aller Tabellen einer Datenbank
      Parameters:
      con - MySQL-Server-Verbindung
      Throws:
      SQLException - Fehlermeldung wenn etwas nicht funktioniert hat
    • showTables

      public List<String> showTables(String database)
      Liefert eine Liste aller Tabellen einer Datenbank
      Parameters:
      database - Datenbankname