Sé que aquí hay muchas preguntas sobre este tema. Probé todas las soluciones pero aún no puedo conectarme a la base de datos. ¡Por favor ayuda! Estoy trabajando en la aplicación web. NetBeans, Tomcat 9, MySQL.
Error:
SQLException: No suitable driver found for jdbc:mysql://localhost:3306user=webstudent&password=webstudent SQLState: 08001 VendorError: 0 java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because "con" is nullMis archivos en el proyecto:
Contexto.xml:
<?xml version="1.0" encoding="UTF-8"?> <Context path="/LibraryWebApp"/>DB.java:
package dao; import java.sql.*; //Database connection method public class DB { public static Connection getCon() throws ClassNotFoundException{ Connection con=null; try { con=DriverManager.getConnection( "jdbc:mysql://localhost:3306"+ "user=webstudent&password=webstudent"); Class.forName("com.mysql.jdbc.Driver"); } catch(SQLException ex){ System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } return con; } }SQLException: No se encontró un controlador adecuado para jdbc:mysql://localhost:3306user=webstudent&password=webstudent
Su cadena de conexión es incorrecta. Te has perdido el nombre de la base de datos. Por lo tanto, actualice el nombre de la base de datos en la siguiente cadena y utilícelo.
jdbc:mysql://localhost:3306/database_name?user=webstudent&password=webstudentAdemás, coloque la siguiente declaración antes de la conexión stmt
Class.forName("com.mysql.jdbc.Driver");Actualizado:
Agregue serverTimezone explícitamente en la cadena de conexión, por ejemplo:
jdbc:mysql://localhost:3306/database_name?user=webstudent&password=webstudent&serverTimezone=UTC