importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.SQLException;publicclassContatoDAO{privateConnectionconnection;publicContatoDAO()throwsSQLException{this.connection=DriverManager.getConnection();}publicvoidadiciona(Contatoscontatos)throwsSQLException{PreparedStatementstmt=this.connection.prepareStatement("insert into contatos(nome, email)values(?,?,?)");stmt.setString(1,contatos.getNome());stmt.setString(2,contatos.getEmail());stmt.execute();stmt.close();}}
Tipo, na apostila da caelum, em vez de usar a classe ConnectionFactory, usei a DriverManager, pois o eclipse nao reconhece a ConnectionFactory, alias, ela nem existe no javadoc, dah o seguinte erro:
Bom meu querido, o erro acontece quando vc chama um método getConnection() da classe DriverManager esse método não é o método que vc quer chamar, o método que vc quer chamar é para criar uma conexão, ou seja, o método getConnection() da classe ConnectionFactory, como vc observou essa classe não existe no Javadoc por que essa classe vc que deve criar, o método getConnection da classe DriverManager é para estabelecer a conexão como o BD.Vou colocar abaixo como ficaria as classes. Outra coisa que eu observei é q vc só usa duas clausulas no insert da sua classe e na apostila da caelum ele usa três ficaria do jeito q esta na classe DAO abaixo, caso dê erro pode ser isso fique ligado.
packagebr.com.euler.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.SQLException;publicclassDAO{privateConnectionconnection;publicDAO()throwsSQLException{this.connection=ConnectionFactory.getConnectionFactory();}publicvoidadiciona(Contatocontatos)throwsSQLException{PreparedStatementstmt=this.connection.prepareStatement("insert into contatos(nome, email, endereco)values(?,?,?)");stmt.setString(1,contatos.getNome());stmt.setString(2,contatos.getEmail());stmt.setString(3,contatos.getEndereco());stmt.execute();stmt.close();}}
Quanro a saber como fica essa implementação deve buscar suporte junto ao fornecedor do DB.
Até mais…
erickles
sim, vou testar pra ver, mas na verdade, usei duas clausulas no insert de proposito, na minha tabela do BD tem soh dois campo msm, obrigado pela atenção.
erickles
O problema eh o seguinte agora, o Class.forname naum tah achando o Driver, o pior eh q descompactei o mysqlconector no diretorio do meu projeto e nada, o ¨%$¨*%$*& do Class.forname() naum acha !!! olha soh a implementação:
no netbeans por exemplo, tu aperta o botão direito do mouse em cima da pasta bibliotecas (padrão do netbeans), e adicionar pasta/jar , seleciona o conector, e pronto,