Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

Não consigo conectar no meu banco de dados um programa simples de login, poderia ser algum erro no código do programa?
segue o código abaixo:
package Conection;

import java.sql.*;

public class ModuloConection {

public static Connection conector() {
    java.sql.Connection Conexao = null;
    String url = "jdbc:mysql://localhost:3306/javalogin";// drive servidor e banco de dados a serem utilizados e indica??o do banco a ser utilizado
String user ="root";// usuario do banco de dados
String password ="admin";//senha do usuario do banco de dados

try {
String driver = null;
Class.forName(driver);
Conexao = DriverManager.getConnection(url, user, password);
return Conexao;

}
catch (ClassNotFoundException | SQLException ex) {
System.out.println(ex);
return null;
}
}
}

Tem que inicializar a variável driver.
Ela está vazia.
Da erro na linha seguinte:

Complementando o que disse o @PedreiroDeSoftware:

String driver = "com.mysql.jdbc.Driver";

ou

String driver = "com.mysql.cj.jdbc.Driver";

a depender da versão do conector.

1 curtida

a versão do meu conector é 8.0.18

eu inicializei a variável drive assim:
package Conection;

import java.sql.*;

public class ModuloConection {

public static Connection conector() {
    java.sql.Connection Conexao = null;
    String url = "jdbc:mysql://localhost:3306/javalogin";
    String user = "root";
    String password = "admin";
    String driver = "com.mysql.cj.jdbc.Driver";

    try {
        String Driver = null;
        Class.forName(Driver);
        Conexao = DriverManager.getConnection(url, user, password);
        return Conexao;

    } catch (ClassNotFoundException | SQLException ex) {
        System.out.println(ex);
        return null;
    }
}

}

E continua dando erro:

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at Conection.ModuloConection.conector(ModuloConection.java:16)
at View.Login.(Login.java:22)
at View.Login$1.run(Login.java:123)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Deixe assim:

Class.forName(driver);

Apague a instrução String Driver = null;

Driver e driver são objetos distintos, pois java é sensível a letras maiúsculas, case sensitive.

Continua aparecendo um erro:
java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long

Já é outro erro, não é mais nullPointerException.
Imprima a classe que tem um objeto BigInteger.
Imprima o erro completo, olhe a linha onde o erro ocorre.

Remova esses campos pois não são necessários o jdbc procura o driver automáticamente