Jdbc

10 respostas
walteraragao

Pessoal boa noite , estou com um problema ao estudar jdbc , baixei a jar mysql-connector-5.0.8 e extrair para dentro da minha workspace(dentro da pasta JDBC (nome do meu projeto)).

porem tenho os códigos :

ConnectionFactory.java

package br.com.walter.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

	public Connection getConnection(){
		System.out.println("Conectando ao banco");
		
		try{
			return DriverManager.getConnection("jdbc:mysql://localhost/exemplo_livro", "root","123456");
		}catch(SQLException e){
			throw new RuntimeException(e);
		}
	}

	
}

TestaConexao.java :

package br.com.walter.testes;

import java.sql.Connection;
import java.sql.SQLException;

import br.com.walter.jdbc.ConnectionFactory;

public class TestaConexao {
	public static void main(String[] args) throws SQLException {
		Connection connection = new ConnectionFactory().getConnection();
		System.out.println("Conexao aberta !");
		connection.close();
	}
}
e aparece o erro :

[color=red]Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/exemplo_livro
at br.com.walter.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:15)
at br.com.walter.testes.TestaConexao.main(TestaConexao.java:10)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/exemplo_livro
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at br.com.walter.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:13)
... 1 more
Conectando ao banco[/color]

Alguem me ajuda ?

10 Respostas

DarthCego

Ola amigo

voce não esta passando o driver para sua classe de conexão tente assim

public Connection getConnection(){  
        System.out.println("Conectando ao banco");  
          
        try{  
            Class.forName("com.mysql.jdbc.Driver");
            return DriverManager.getConnection("jdbc:mysql://localhost/exemplo_livro", "root","123456");  
        }catch(SQLException e){  
            throw new RuntimeException(e);  
        }  
    }

Abraços

walteraragao

Boa Noite,

ficou assim meu código , (adicionei os throws)

package br.com.walter.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

	public Connection getConnection() throws ClassNotFoundException{
		System.out.println("Conectando ao banco");
		
		try{
			Class.forName("com.mysql.jdbc.Driver");
			return DriverManager.getConnection("jdbc:mysql://localhost/exemplo_livro", "root","123456");
		}catch(SQLException e){
			throw new RuntimeException(e);
		}
	}
}
package br.com.walter.testes;

import java.sql.Connection;
import java.sql.SQLException;

import br.com.walter.jdbc.ConnectionFactory;

public class TestaConexao {
	public static void main(String[] args) throws SQLException, ClassNotFoundException {
		Connection connection = new ConnectionFactory().getConnection();
		System.out.println("Conexao aberta !");
		connection.close();
	}
}

ERRO:

[color=red]Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at br.com.walter.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:13)
at br.com.walter.testes.TestaConexao.main(TestaConexao.java:10)
Conectando ao banco[/color]

DarthCego

Amigo ele não esta encontrando o seu driver verifique onde vc adicionou

se vc usa eclipse clica com o botao direito em cima do seu jar e de um build path se usa netbeans va em biblioteca clica com o botao direito e add JARs e procure o mysql connector

walteraragao

Eu tenho a apostila do curso e to seguindo até os exemplos , ja fiz isso porem continua os erros, você tem algum e-mail ou msn para te mandar o print pra você ver …?

andersonrc

O erro que aparece na console é pq o driver apesar de estar em uma pasta dentro do seu projeto, ele não foi adicionado no Path.

Então, se vc estiver usando o Eclipse, botão direito do mouse em cima do projeto - Build Path - Configure Build Path, clique na aba Libraries e clique em Add Jars. Agora é só vc clicar no projeto e sair navegando até a pasta que está o jar do MySQL e adicioná-lo.

A

uma dica, adicione o drive.jar na pasta SRC do seu projeto, e logico, apos isso faça o que o pessoal falou acima, adicione ao seu projeto e no path
Assim voce pode abrir o projeto em outro computador que vai estar com o driver.
inclusive se voce criar um arquivo.jar do seu projeto, o driver tb estara nessa arquivo .jar
:wink:

walteraragao

fiz esse procedimento porem sem êxito, la em Referenced Libraries está aparecendo o mysql-conector-5.0.8
porem continua o erro :

[color=red]Conectando ao banco

Exception in thread “main” java.lang.RuntimeException: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/exemplo_livro

at br.com.walter.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:16)

at br.com.walter.testes.TestaConexao.main(TestaConexao.java:10)

Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/exemplo_livro

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at br.com.walter.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:14)

… 1 more[/color]
ViniGodoy

Tópico movido para o fórum de persistência.

Fexx

Se o driver está ok, como vc disse, verifique se a porta do banco está ok, pois essa url só é valida se vc estiver usando a porta padrão do mysql.

Boa Sorte.

alexandre.marques

Cara, se vc estiver usando eclipse faça o seguinte:

Adiciona um folder no seu projeto, nomeia ele como lib, cole o drive dentro desse folder, em seguida clique com o botão direito do mouse em cima do projeto - Build Path - Configure Build Path, clique na aba Libraries e clique em Add Jars, navegue o diretório do seu projeto, localize o folder lib, selecione o drive e ok.

verifique a porta do seu banco.

public class ConnectionFactory {  
  
    public Connection getConnection() throws ClassNotFoundException{  
        System.out.println("Conectando ao banco");  
          
        try{  
            Class.forName("com.mysql.jdbc.Driver");  
            return DriverManager.getConnection("jdbc:mysql://localhost:3306/exemplo_livro", "root","123456");  
        }catch(SQLException e){  
            throw new RuntimeException(e);  
        }  
    }  
}

Qualquer coisa posta o erro novamente!

É nox!!!

Criado 11 de fevereiro de 2012
Ultima resposta 26 de dez. de 2012
Respostas 10
Participantes 7