Driver mySQL?

5 respostas
C
import java.sql.*;

public class Main {

    public static void main(String[] args) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
        Connection conn;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/livraria", "root", "");
        Statement stmt = conn.createStatement();
        String query = "SELECT * FROM livraria WHERE titulo LIKE '%Better';";
        ResultSet rs = stmt.executeQuery(query);
        System.out.printf("%s%s\n%s%s\n",
                "ID: ", rs.getInt("id"),
                "Título: ", rs.getString("titulo"),
                "Autor: ", rs.getString("autor"),
                "Editora: ", ((rs.getString("editora") == null) ? "Sem editora" : rs.getString("editora")),
                "Ano: ", rs.getInt("ano"));

    }
}
Linha com erro:
Class.forName("com.mysql.jdbc.Driver").newInstance();

Erro:

[color=red]Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188 )
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at registrosql.Main.main(Main.java:9)[/color]

Pesquisei e sempr fala que tenho que colocar o driver do mysql, mas não fala como!
Pelo NetBeans eu criei um esquema de banco de dados. E o NetBeans consegue mostrar as configurações da tabela que eu escolhi, mas o programa ainda não consegue se conectar no mySQL!
Como eu faço para adicionar o driver que ele está pedindo?

5 Respostas

E

Falando em termos completamente genéricos: no classpath de seu programa deve constar o jar do driver de bancos de dados.

Como é que você configura o raio do classpath? Aí você precisa ver onde é que você vai rodar seu programa. Se for via linha de comando (java -classpath sei.la.o.que.jar SuaClasse) é usando a opção -classpath ou -cp. Se for dentro do seu ambiente de desenvolvimento, provavelmente é só procurar nas opções do seu projeto.

C

Intendi!

Eu não quero precisar colocar o classpath toda vez que for abrir o programa, quero deixar ele já pronto minha biblioteca.

Peguei no site do mySQL o mysql-connector-java-5.1.11.
Onde que eu tenho que descompactar isso?

Rafael_Marques1

Cristianbf:
Intendi!

Eu não quero precisar colocar o classpath toda vez que for abrir o programa, quero deixar ele já pronto minha biblioteca.

Peguei no site do mySQL o mysql-connector-java-5.1.11.
Onde que eu tenho que descompactar isso?

vai em propriedades e adiciona o jar…

ou se for projeto web, joga na WEB-INF/lib

C

ceb10n:
Cristianbf:
Intendi!

Eu não quero precisar colocar o classpath toda vez que for abrir o programa, quero deixar ele já pronto minha biblioteca.

Peguei no site do mySQL o mysql-connector-java-5.1.11.
Onde que eu tenho que descompactar isso?

vai em propriedades e adiciona o jar…

ou se for projeto web, joga na WEB-INF/lib

Propriedades do quê? Como eu faço?

Rafael_Marques1

ta usando o eclipse?

clicka com botao direito no seu projeto (na aba package explorer)
seleciona properties (a ultima opcao)
Vai na opcao Java Build Path
Libraries
add external jars

Criado 3 de fevereiro de 2010
Ultima resposta 3 de fev. de 2010
Respostas 5
Participantes 3