NetBeans 6.1, MySQL6 e Windows Vista

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:

[code]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)[/code]

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

Desculpem pelo transtorno!

O conector JDBC do mysql 6 está na classpath do seu projeto, por que pela exceção que ele trouxe parece que não

java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

Classe não encontrada

Ola,

Entra em http://dev.mysql.com/downloads/connector/j/5.1.html e baixa o conector, depois dezipa ele e coloca o jar no classpath da sua aplicação.

Certo, mas onde fica a Classpath? ja fiz os downloads mas não encontro a pasta para instalar!
Açgume poderia me ajudar mais um pouco?
Vlw!

Botao direito do mouse em cima do projeto->ache libraries->adiciona o jar.

Desculpe continuar incomodando, mas qual o nome do arquivo do arquivo com extensão jar? só achei um monte de classes e bin`s nos arquivos que eu baixei.

:oops:

Se vc baixou o arquivo binario, da qual o nome e mysql-connector-java-5.1.6.tar.gz, dezipa ele, e ira aparecer o arquivo mysql-connector-java-5.1.6-bin.jar.

Galera, consegui achar o arquivo .jar( meu vista n tava monstrando o .jar, mas graças ao Bruno eu consegui achar), mas ainda não consegui fazer o
codigo executar, ta aparecendo o seguinte erro:

run: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2253) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:171) at aula004.Aula04.open(Aula04.java:33) at aula004.Aula04.inserir(Aula04.java:61) at aula004.Aula04.main(Aula04.java:131) Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown database 'aluno' at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910) at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2181) ... 8 more Exception in thread "main" java.lang.NullPointerException at aula004.Aula04.inserir(Aula04.java:63) at aula004.Aula04.main(Aula04.java:131) Java Result: 1 BUILD SUCCESSFUL (total time: 4 seconds)

Já não sei mais o que fazer, preciso terminar esse exemplo para poder avançar nos meus estudos!
A ajuda de vcs ta sendo muito boa! VLW :smiley:

Ola,

Seguinte, da uma repassada na parte de “criando o banco de dados para o exemplo”, pois a exception diz que nao consegue conectar pq nao tem um banco chamado “aluno”.

Ae Bruno era isso mesmo, eu estava tentando acessar o BD pelo nome da tabela que eu criei(aluno) e não pelo nome do BD(root)!
Apesar de agora ele estar gerando esse relatorio:

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'nome' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485) at aula004.Aula04.inserir(Aula04.java:65) at aula004.Aula04.main(Aula04.java:131)

:smiley:
Agradeço a todos pela ajda e espero aprender o suficinte para poder ajudar tambem!
Vlw

[quote=wibson82]Ae Bruno era isso mesmo, eu estava tentando acessar o BD pelo nome da tabela que eu criei(aluno) e não pelo nome do BD(root)!
Apesar de agora ele estar gerando esse relatorio:

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'nome' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485) at aula004.Aula04.inserir(Aula04.java:65) at aula004.Aula04.main(Aula04.java:131)

:smiley:
Agradeço a todos pela ajda e espero aprender o suficinte para poder ajudar tambem!
Vlw[/quote]

E vc já conseguiu descobrir o pq deste erro?

Com a ajuda de voces eu consegui resolver os erros que estavam ocorrendo, que eram basicamente chamar uma tabela, em vez de o banco de dados. Por isso ele não conseguia se conectar, pois não achava o banco porque ele não existia,
E quando a essa mensagem que esta aparecendo, creio que seja apenas o netBeans se cominicando com o banco e indicando o que foi feito, ja que não ha menção a erros no codigo, como havia antes e o programa executa bem.
Agora estou passando pra proxima etapa dos estudos, relatório com o iReport,
Vlw de novo, até outro dia!

Pra quem quiser trocar uma ideias depois, pega meu msn wibson82@hotmail.com
Até