NetBeans 6.1, MySQL 6 e Windows Vista

2 respostas
W

Ae galera, to aprendendo a programar em java em um curso da EADCON, mas me deparei com um pequeno problema na hora de compilar um exemplo com o NetBeans.

Obs`: Eles não especificaram nenhuma IDE especifica, mas achei a netBeans 6.1 interresante!

Obs``: Uso windows vista home premiun e MySQL6 alpha( o 5 não queria rodar no meu note)

Segue o codigo do exemplo deles e o erro:

package aula04;

import java.awt.Frame;
import java.awt.List;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Aula04 {
    private Connection conn;
    private PreparedStatement pstmt;
    private Statement stmt;
    private ResultSet rs;
    
    public void open(){
        try {
                Class.forName("org.gjt.mm.mysql.Driver");
                conn = DriverManager.getConnection(
                       "jdbc:mysql://localhost/aluno?autoReconnect=true", 
                        "root", "mysteri0");
            } catch (ClassNotFoundException e)
            {
             e.printStackTrace();
            } catch (SQLException e)
            {
             e.printStackTrace();
             }
    }
    
    public void close(){
        try{
            if (stmt != null)
                stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
        }
    }
    
    public void inserir(){
        try{
            //Abrindo a conexão com o banco
            open();
            //intanciando o objeto statement (stmt)
            stmt = conn.createStatement();
            //Executando uma instrução SQL
            stmt.executeUpdate("INSERT INTO ALUNO VALUES (3, 'Pedro da Silva')");
            //Fechando a conexão com o banco
            close();
        } catch (SQLException e){
            //Fechando a conexão com o banco
            close();
            e.printStackTrace();
        }
    }
    
    public void alterar(){
        try{
            //Abrindo a conexão com o banco 
            open();
            //instanciando o objeto preparedStatement (pstmt)
            pstmt = conn.prepareStatement("UPDATE ALUNO SET NOME = ? Where id = 1");
            //Setando o valor ao parãmetro
            pstmt.setString(1, "Maria Rita");
            //Fechando a conexão com o banco
            pstmt.execute();
            close();
        } catch (SQLException e){
            //Fechanco a conexão com o banco
            close();
            e.printStackTrace();
        }
    }
    
    public ResultSet buscarAlunos(){
        try{
            open();
            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT id, nome FROM ALUNO");
            return rs;
        } catch (SQLException e){
            close();
            e.printStackTrace();
        }
        return null;
    }
    
    public void imprimirAlunos() throws SQLException{
        List listAlunos = new List();
        Aula04 aula = new Aula04();
        aula.rs = aula.buscarAlunos();
        while (aula.rs.next())
            listAlunos.add("id: " + aula.rs.getInt("id") + " - " + "Nome: "
                                                   + aula.rs.getString("nome"));
        
        Frame janela = new Frame("Janela");
        janela.setLocation(300, 300);
        janela.setSize(300, 300);
        
        janela.add(listAlunos);
        janela.setVisible(true);
    }
    
    public static void main(String[] args){
        Aula04 aula = new Aula04();
        aula.inserir();
        aula.alterar();
        aula.rs = aula.buscarAlunos();
        try{
            aula.imprimirAlunos();
        } catch (SQLException e)
        {
            e.printStackTrace();
        }
    }
}

------------------------------------------------------------------------------------------------------------------------------------
init:
deps-jar:
compile:
run:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.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:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at aula04.Aula04.open(Aula04.java:31)
        at aula04.Aula04.inserir(Aula04.java:60)
        at aula04.Aula04.main(Aula04.java:130)
Exception in thread "main" java.lang.NullPointerException
        at aula04.Aula04.inserir(Aula04.java:62)
        at aula04.Aula04.main(Aula04.java:130)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

Obs```: Exibe sucesso mas n exibe a janela

Desculpem pelo transtorno!

2 Respostas

L

wibson82,

voce precisa colocar o arquivo .jar do driver do mysql no classpath do seu projeto.

como vc disse q estah aprendendo java agora, vou tentar explicar melhor…

esse driver do mysql eh o responsável por fazer a sua aplicação acessar o banco. na linha

Class.forName("org.gjt.mm.mysql.Driver");

uma classe que está dentro deste jar é chamada, por isso q ele deve estar no seu classpath.

pra vc pegar esse driver, eh soh procurar no google “mysql driver” que voce encontra

qlq problema, posta mais ae :smiley:

A

entau uso o vista Ultimate64X, e o que ocorre e que ele nao carrega o driver, ja editei e verifiquei a class e esta tudo certo tbm adcionei o JAR na bibilioteca, mas mesmo assim nao carrega.
meu sql eh 5.1 64x e netbeans 5.5.1
Log

init:
deps-jar:
compile-single:
run-single:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database ‘sisvenda’
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:911)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3968)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:723)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
Nao foi Possivel carregar driver
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at br.com.sisvendas.acessobd.acessoMysql.conectar(acessoMysql.java:46)
at br.com.sisvendas.acessobd.acessoMysql.(acessoMysql.java:40)
at br.com.sisvendas.acessobd.acessoMysql.main(acessoMysql.java:31)
EXECUTADO COM SUCESSO (tempo total: 0 segundos)

Codigo fonte:

package br.com.sisvendas.acessobd;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

/**
*

  • @author Andre
    */
    public class acessoMysql {

    Connection con;
    
    PreparedStatement pstn;
    
    ResultSet rs;
    

    public static void main(String args[]){
    new acessoMysql();

    }
    
    /** Creates a new instance of acessoMysql */
    
    public acessoMysql() {
    
    conectar();
    
    }
    
    public void conectar(){
    
    try {
    
    Class.forName("com.mysql.jdbc.Driver");
         con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/sisvenda?user=root&password=root");
     } catch (SQLException ex) {
         ex.printStackTrace();
         System.out.println("Nao foi Possivel carregar driver");
     } catch (ClassNotFoundException ex) {
         ex.printStackTrace();
         System.out.println("nao foi possivel conecar ao DB");
     }
    

    }

    public void desconectar(){
    
    try {
    
    con.close();
    
    } catch (SQLException ex) {
    
    ex.printStackTrace();
    
    }
    

}
}


se alguem souber grato.

Criado 17 de junho de 2008
Ultima resposta 11 de abr. de 2009
Respostas 2
Participantes 3