我的班级:
package br.com.savetime;
import java.sql.*;
public class CriarConexao {
private static Connection con = null;
public static Connection abrirBanco(){
Connection con;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/savetime", "root", "root");
System.out.println("conectando");
return con;
}
catch(ClassNotFoundException cnfe){
System.out.println("driver nao encontrado: " + cnfe.getMessage());
return null;
}
catch(SQLException sql){
System.out.println("SQLException: " + sql.getMessage());
System.out.println("SQLState: " + sql.getSQLState());
System.out.println("Erro: " + sql.getErrorCode());
System.out.println("StackTrace: " + sql.getStackTrace());
return null;
}
catch(Exception e){
System.out.println(e.getMessage());
return null;
}
}
public static void fecharBDcon(){
try{
con.close();
}
catch(Exception e){
System.out.println("erro ao fechar o banco" + e.getMessage());
}
}
}
和我的错误:
06-17 03:55:07.139: I/System.out(1367): SQLException: Could not create connection to database server.
06-17 03:55:07.139: I/System.out(1367): SQLState: 08001
06-17 03:55:07.139: I/System.out(1367): Erro: 0
06-17 03:55:07.149: I/System.out(1367): StackTrace: [Ljava.lang.StackTraceElement;@41bc1af0
答案 0 :(得分:1)
您的代码工作正常,只需在classpath中提供mysql-connector.jar
。我们可以找到它here以及我尝试过的代码:
import java.sql.*;
public class ConnectionTest {
private static Connection con = null;
public static Connection abrirBanco(){
Connection con;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "welcome");
System.out.println("conectando");
return con;
}
catch(ClassNotFoundException cnfe){
System.out.println("driver nao encontrado: " + cnfe.getMessage());
return null;
}
catch(SQLException sql){
System.out.println("SQLException: " + sql.getMessage());
System.out.println("SQLState: " + sql.getSQLState());
System.out.println("Erro: " + sql.getErrorCode());
System.out.println("StackTrace: " + sql.getStackTrace());
return null;
}
catch(Exception e){
System.out.println(e.getMessage());
return null;
}
}
public static void fecharBDcon(){
try{
con.close();
}
catch(Exception e){
System.out.println("erro ao fechar o banco" + e.getMessage());
}
}
public static void main(String arr[])
{
System.out.println("Making connection..");
Connection connection = ConnectionTest.abrirBanco();
System.out.println("Connection made...");
}
}
答案 1 :(得分:0)
这只是mysql连接器jar文件的不匹配。只需使用更高版本更新jar文件,或者如果您使用的是maven,则更新您的依赖项。我用6.0.6版本更新了pom.xml中的依赖项,它可以工作。