É claro que isso poderia ser melhor implementado, mais me parece que vc esta iniciando no mundo java, isso deve ajudar.
packagebr.prologica.conexao;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importcom.mysql.jdbc.Connection;importcom.mysql.jdbc.PreparedStatement;publicclassteste{publicteste(){Connectioncon=null;PreparedStatementcomando=null;ResultSetrs=null;try{con=(Connection)ConnectionFactory.getConnectionMysql();StringvSQL="SELECT * FROM usuario";comando=(PreparedStatement)con.prepareStatement(vSQL);rs=comando.executeQuery();ArrayList<Object>objeto=newArrayList<Object>();while(rs.next()){System.out.println(rs.getString("nome"));System.out.println(rs.getString("senha"));}}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}}/** * @param args */publicstaticvoidmain(String[]args){testet=newteste();}}
Não se esqueça de adicionar o drive do MySQL.
Abraço.
marcusluiz83
Obrigado pela ajuda, amigo, mas utilizei seus códigos neste mesmo projeto para testar, e deu o mesmo erro. Acho que é justamente o que você disse, parece não estar carregando o drive do mysql. Não sei como fazer no netbeans, já passei por este problema no eclipse, e só adicionei o jar no classpath. É o mesmo raciocínio para o netbeans?
marcusluiz83
Meus códigos:
packageconexao;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassConnectionFactory{publicstaticConnectiongetConnection()throwsSQLException{try{Class.forName("com.mysql.jdbc.Driver");System.out.println("Conectando ao banco de dados MYSQL");returnDriverManager.getConnection("jdbc:mysql://localhost/teste","root","");}catch(ClassNotFoundExceptione){thrownewSQLException(e.getMessage());}}}
Clique com o botão direito no nome do projeto
Clique em propriedades
Clique em BiBliotecas
Na aba compilar , CLIQUE em adicionar jar ou pasta
e pronto
marcusluiz83
Opa, tá clareando. Consegui instalar o driver, como o colega me orientou, mas continuou dando erro, porém as linhas do erro diminuíram:
init:
deps-module-jar:
deps-ear-jar:
deps-jar:
compile-single:
run-main:
Exception in thread "main" java.sql.SQLException: com.mysql.jdbc.Driver
at conexao.ConnectionFactory.getConnection(ConnectionFactory.java:20)
at dao.ContatoDAO.<init>(ContatoDAO.java:18)
at teste.TestaInsere.main(TestaInsere.java:24)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
Help, please! Falta pouco. Achei que era apenas o driver que estava faltando.
marcusluiz83
:?:
ramilani12
coloque todo stacktrace aqui
marciofermino
Amigo a prinicipio é o seiu metodo inserir que esta errado…
viniciusgundim
Use essa classe de conexão:
packageultilitarios;importjava.sql.*;importjava.util.logging.Level;importjava.util.logging.Logger;importjavax.swing.*;publicclassconexao{finalprivateStringdriver="com.mysql.jdbc.Driver";//Efetua a Conexão com o BancofinalprivateStringurl="jdbc:mysql://localhost:3306/bd";finalprivateStringusuario="root";finalprivateStringsenha="senha";privateConnectionconexao;//Responsável por abrir o caminho até o Banco de DadospublicStatementstatement;//Armazena os Dados do BancopublicResultSetresultset;//Classe Conectapublicbooleanconecta(){booleanresult=true;try{Class.forName(driver);try{conexao=DriverManager.getConnection(url,usuario,senha);System.out.println("Conectou");}catch(SQLExceptionex){Logger.getLogger(conexao.class.getName()).log(Level.SEVERE,null,ex);}}catch(ClassNotFoundExceptionDrive){JOptionPane.showMessageDialog(null,"Não foi Possível Conectar a Base de Dados");result=false;}returnresult;}//Classe Desconectapublicvoiddesconecta(){booleanresult=(true);try{conexao.close();}catch(SQLExceptionerroSQL){result=false;}}//Conecta Sqlpublicvoidexecultesql(Stringsql){try{statement=conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);resultset=statement.executeQuery(sql);}catch(SQLExceptionsqlex){JOptionPane.showMessageDialog(null,"Não foi possível executar o comando SQL"+sqlex);}}publicvoidexecutesql(Stringstring){thrownewUnsupportedOperationException("Not yet implemented");}}
Para adicionar o Driver no Projeto:
Clique com o direito em cima do projeto>propriedades>bibliotecas>adicionarbibliotecas e adc o drive do mysql acho que não irá ter problemas.
marcusluiz83
Olá, amigos! Vou testar o código que o colega acima me sugeriu, e vou postar o que foi solicitado
packageconexao;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;/** * Classe responsável por criar a conexão com o banco de dados * @author marcusluiz83 /+/LaraSoft/+/ */publicclassConnectionFactory{publicstaticConnectiongetConnection()throwsSQLException{try{Class.forName("com.mysql.jdbc.Driver");System.out.println("Conectando ao banco de dados MYSQL");returnDriverManager.getConnection("jdbc:mysql://localhost/teste","root","");}catch(ClassNotFoundExceptione){thrownewSQLException(e.getMessage());}}}
ContatoDAO
packagedao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importmodelo.Contato;importconexao.ConnectionFactory;/** * Classe capaz de acessar o banco de dados através do Design Patter DAO * @author marcus/+/LaraSoft/+/ */publicclassContatoDAO{privateConnectionconnection;publicContatoDAO()throwsSQLException{this.connection=ConnectionFactory.getConnection();}publicvoidadiciona(Contatocontato)throwsSQLException{// prepared statement para inserçãoStringsql="insert into contatos(nome,email,endereco)values(?,?,?)";PreparedStatementstmt=connection.prepareStatement(sql);// seta os valoresstmt.setString(1,contato.getNome());stmt.setString(2,contato.getEmail());stmt.setString(3,contato.getEndereco());// executastmt.execute();stmt.close();}}
TestaInsere
importdao.ContatoDAO;importjava.sql.SQLException;importmodelo.Contato;/** * Classe que testa a inserção de dados no banco de dados MYSQL, usando a * classe ContatoDAO * @author marcus/+/LaraSoft/+/ */publicclassTestaInsere{publicstaticvoidmain(String[]args)throwsSQLException{// pronto para gravarContatocontato=newContato();contato.setNome("Caelum");contato.setEmail("[email removido]");contato.setEndereco("Rua Vergueiro 3185 - conjunto 57");// grave nessa conexão!!!ContatoDAOdao=newContatoDAO();// método elegantedao.adiciona(contato);System.out.println("Gravado");}}
Valeu...
marcusluiz83
Pessoal, consegui. Peguei a versão mais nova do driver do mysql e funcionou. A versão que eu tinha que tava dando erro, agora só não sei por que. Obrigado pela ajuda de todos.
pispico
Da pau tambem se vc esta usando o tomcat e nao coloca o driver na pasta lib dele.
Entao alem de colocar o jar no projeto e no claspath nao esqueca de colocar na lib do tomcat(Claro se for ele que vc estiver usando)