¿Qué está mal con el código? Hay muchos errores durante la depuración. Estoy escribiendo un código para que una clase singleton se conecte con la base de datos mysql.
Aqui esta mi codigo
package com.glomindz.mercuri.util;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySingleTon {
String url = "jdbc:mysql://localhost:3306/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";
private static MySingleTon myObj;
private Connection Con ;
private MySingleTon() {
System.out.println("Hello");
Con= createConnection();
}
@SuppressWarnings("rawtypes")
public Connection createConnection() {
Connection connection = null;
try {
// Load the JDBC driver
Class driver_class = Class.forName(driver);
Driver driver = (Driver) driver_class.newInstance();
DriverManager.registerDriver(driver);
connection = DriverManager.getConnection(url + dbName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
return connection;
}
/**
* Create a static method to get instance.
*/
public static MySingleTon getInstance() {
if (myObj == null) {
myObj = new MySingleTon();
}
return myObj;
}
public static void main(String a[]) {
MySingleTon st = MySingleTon.getInstance();
}
}
Soy nuevo en Java. Por favor ayuda.
java
jdbc
mysql-connector
atikul hussain
fuente
fuente
Respuestas:
Parece que la biblioteca de conectividad mysql no está incluida en el proyecto. Resuelva el problema siguiendo una de las soluciones propuestas:
Agregue la dependencia del conector mysql al archivo de proyecto pom.xml:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency>
Aquí tienes todas las versiones: https://mvnrepository.com/artifact/mysql/mysql-connector-java
Agregue la biblioteca jar manualmente al proyecto.
Haga clic derecho en el proyecto -> ruta de construcción -> configurar ruta de construcción
En
Libraries Tab
prensaAdd External Jar
ySelect
tu tarro.Puede encontrar zip para mysql-connector aquí
Al compilar el proyecto, java lanza una excepción porque no se encuentra un archivo (la clase com.mysql.jdbc.Driver) de la biblioteca de conectividad mysql. La solución es agregar la biblioteca al proyecto, y Java encontrará el com.mysql.jdbc.Driver
fuente
mysql-connector-java-8.0.15.jar
archivo a laapache-tomcat-9.0.16\lib
carpeta, como lo sugiere @Asad.Si obtuvo el error en su IDE (error en tiempo de compilación), debe agregar su archivo jar del conector mysql a sus bibliotecas y agregarlo también a su biblioteca de proyecto referenciada.
Si recibe este error cuando lo está ejecutando, probablemente sea porque no ha incluido el archivo JAR del conector mysql en la carpeta lib de su servidor web.
Agregue
mysql-connector-java-5.1.25-bin.jar
a su classpath y también al directorio lib de su servidor web. La ruta de acceso de Tomcat lib se da como ejemploTomcat 6.0\lib
fuente
Para proyectos basados en Gradle , necesita una dependencia en MySQL Java Connector :
dependencies { compile 'mysql:mysql-connector-java:6.0.+' }
fuente
runtime 'mysql:mysql-connector-java:6.0.+'
.Todos han escrito una respuesta, pero todavía me sorprende que nadie la haya respondido utilizando la mejor forma sencilla.
La gente responde que incluye el archivo jar. Pero el error seguirá ocurriendo.
La gente de aquí ha respondido tantas veces que puso ese archivo jar en la carpeta lib de WEB-INF. Eso parece estar bien, pero ¿por qué hacerlo manualmente? Hay una forma sencilla. Compruebe los pasos siguientes:
Pero esto aún no resolverá el problema porque agregar el jar externo a través de la ruta de compilación solo ayuda a compilar las clases, y el jar no se implementará cuando ejecute el proyecto. Para eso sigue este paso
fuente
Tendrá que incluir el controlador jar para MySQL MySQL Connector Jar en su classpath.
Si está utilizando Eclipse: Cómo agregar bibliotecas dependientes en Eclipse
Si está utilizando la línea de comandos, incluya la ruta al contenedor del controlador utilizando el parámetro -cp de java.
fuente
-cp
da no se pudo encontrar o cargar el error de clase principal. ¿Necesito poner la clase principal en otra carpeta?compruebe si hay jar
(mysql-connector-java-bin)
en su classpath descargar desde aquífuente
La API de JDBC consiste principalmente en interfaces que funcionan independientemente de cualquier base de datos. Se requiere un controlador específico de base de datos para cada base de datos que implemente la API de JDBC.
Primero descargue el jar del conector MySQL de www.mysql.com, luego:
Right Click the project -- > build path -- > configure build path
En la pestaña de bibliotecas, presione
Add External Jar
y seleccione su jar.fuente
Para proyectos basados en Maven, necesita una dependencia.
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency>
fuente
En el proyecto, en la carpeta Bibliotecas -> clic derecho -> Agregar biblioteca -> Mysqlconnector 5.1
fuente
El conector del controlador no está en su ruta de construcción. Configure la ruta de compilación y apúntela a 'mysql-connector-java-5.1.25-bin.jar' (verifique la versión que está usando). Alternativamente, puede usar maven: D
fuente
Por trivial que pueda parecer en mi caso, el proyecto 7.2.1 de maven de la versión de netbeans era diferente. Hay una carpeta en el proyecto llamada dependencias. Haga clic derecho y luego aparecerá una ventana emergente donde puede buscar paquetes. En el área de consulta poner
Aparecerá las coincidencias (parece que lo hace en algún repositorio). Haga doble clic y luego instale.
fuente
Es porque la carpeta WEB-INF no existe en la ubicación del subdirectorio en el error. Puede compilar la aplicación para usar la carpeta WEB-INF en public_html O copiar la carpeta WEB-INF en la subcarpeta como en el error anterior.
fuente
Para IntelliJ Idea, vaya a la estructura de su proyecto (Archivo, Estructura del proyecto) y agregue el archivo .jar del conector mysql a su biblioteca global. Una vez allí, haga clic derecho sobre él y elija 'Agregar a módulos'. Presione Aplicar / Aceptar y debería estar listo para comenzar.
fuente
La excepción también puede ocurrir porque la ruta de clases no está definida.
Después de horas de investigación y literalmente pasando por cientos de páginas, el problema era que la ruta de clases de la biblioteca no estaba definida.
Establezca la ruta de clases de la siguiente manera en su máquina con Windows
fuente
Entendí su problema, agregue esta dependencia en su pom.xml, su problema se resolverá,
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38
fuente
Si está utilizando tomcat, junto con el directorio del proyecto, también debe copiar el archivo jar del conector de la base de datos en tomcat / lib. esto funcionó para mí
fuente
Esto debe usarse a partir de 2020
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency>
fuente
Estoy desarrollando una aplicación JavaFX11 simple con SQLite Database en Eclipse IDE . Para generar el informe agregué los frascos de Jasper. De repente arroja el error "ESTE" .
Funcionaba bien (ANTES DE ESTA ADICION). ¡Pero de repente!
No estoy usando Maven u otros administradores para esta sencilla aplicación. Estoy agregando frascos manualmente.
Creé la "Biblioteca de usuario" y agregué mis frascos de carpetas externas.
ÁREA QUE OCURRE PROBLEMAS: Mi "Biblioteca de usuario" está marcada como biblioteca del sistema. Acabo de quitar la marca. Ahora no es una biblioteca del sistema. "AHORA MI PROYECTO FUNCIONA BIEN".
DEBUG YO MISMO: Probé otras cosas: EN EJECUTAR CONFIGURACIÓN: Pruebe, elimine la biblioteca y agregue los frascos uno por uno y vea. - aquí debe eliminar todos los archivos jar uno por uno, no hay seleccionar todo y eliminar en eclipse ahora mismo en la configuración de ejecución. Entonces, los mensajes de error cambian de un frasco a otro.
Espero que esto ayude a alguien.
fuente