Plugin connected nicht zur Datenbank

  • Guten Abend, ich habe mich schon länger nicht mehr mit Java beschäftigt und stehe nun etwas auf dem Schlauch. Ich habe eine Methode die die Config erstellt.


    Dann die MySQL Datei mit der Methode zum Connecten


    In der Main habe ich normal in der onEnable Methode


    Code
            ConfigYML.create();
            
            
            MySQl.connect();

    die zwei Sachen registriert. Dennoch kommt keine Verbindung zu Stande. Fehler:

    Code
    Error in dispatching command
    java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because "de.ReportSystem.Bungee.Main.MySQl.con" is null

    Hat jemand eine Idee woran das liegen kann? Danke im Voraus!


    LG

  • Leider hast du vergessen die Stelle zu zeigen, an der du dein Prepared Statement ausführst.


    "de.ReportSystem.Bungee.Main.MySQl.con" is null: Deine Variable con ist null. Das kann jetzt verschieden Gründe haben. Ohne den gesamten Quellcode kann man nur wild Raten. Es könnte sein, dass du dieses Prepared Statement ausführst bevor du deine connect-Methode erfolgreich war, du deine Variable nicht ordentlich nutzt (OOP wäre vorteilhaft) oder aber auch das isConnected() einen festen Wert, welches es gar nicht zulässt, dass deine Variable con überhaupt initialisiert wird.


    System.out.println("MySQl has been connected."); hast du sicherlich wo anders platzieren wollen und nicht im catch. Außerdem hat Bungee doch sicherlich auch ein getLogger().


    cfg.set("MySQl_passowrd", "Haxx0r007"); und ConfigYML.get().getString("MySQl_password") -> Tippfehler. Das L großzuschreiben wäre auch schön.



    Ausblick:


    Viel Erfolg.