ola!
Para utilizar o Bancos de dados em uma aplicação preciso usar uma classe somente pra fazer a conexão? ou coloco dentro de qualquer outra classe da aplicação os códigos de conexão?
agradeço…
ola!
Para utilizar o Bancos de dados em uma aplicação preciso usar uma classe somente pra fazer a conexão? ou coloco dentro de qualquer outra classe da aplicação os códigos de conexão?
agradeço…
É melhor criar uma classe só que centraliza essa conexão.
Procure entender o padrão factory.
tenho uma outra duvida eu quero adicionar um tabela de links , só que estou usando o visual class no eclipse, o que posso utilizar??
vlw
Que tal usar um GenericDAO. Isso pensando que vc vai usar JDBC. Coloquei um exemplo abaixo de como faço.
O interessante neste modelo é vc usar uma classe DAO abstrata e nos outros DAOs vc simplesmente pode estende a GenericDAO.
Valeu qlqer coisa manda ai.
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Samuel
*/
public abstract class GenericDAO {
private static final long serialVersionUID = 1L;
public Connection getConnection() {
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection cx = DriverManager.getConnection("jdbc:derby://localhost/petshop", "petshop", "petshop");
return cx;
} catch (Exception ex) {
Logger.getLogger(GenericDAO.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}
public Statement getStatement() throws SQLException {
return getConnection().createStatement();
}
public PreparedStatement getStatement(String st) throws SQLException {
return getConnection().prepareStatement(st);
}
public ResultSet executeQuery(String query, Object... params) throws SQLException {
PreparedStatement ps = getStatement(query);
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
}
return ps.executeQuery();
}
public int executeCommand(String query, Object... params) throws SQLException {
PreparedStatement ps = getStatement(query);
for (int i = 0; i < params.length; i++) {
try {
ps.setObject(i + 1, params[i]);
} catch (Exception e) {
System.out.println("Error to try " + i + " white value " + params.toString());
}
}
int result = ps.executeUpdate();
ps.close();
return result;
}
}
Valeu colega pelo código…
Entao eu terei que criar um DAO para cada classe???
dar uma olhada no post a seguir tem o passo-passo.
http://camilolopes.wordpress.com/2009/04/14/criando-conexao-java-mysql-com-eclipse/
http://imasters.uol.com.br/artigo/13937/java/aplicacoes_jee_com_jsp__jstl__mysql/
flw!
Vlw…
obrigada pela ajuda…
Se vc usar o GenericDAO e vc tiver, digamos, o seu BD tenha as seguintes tabelas:
Clientes, Pordutos e Fornecedores.
Então vc vai criar as classes ClienteDAO, ProdutoDAO e FornecedorDAO que irão estender o GenericDAO utlizando os métodos
de command, query e conexão. Não esqueça que vc tb deve criar os bens para cada tabela, ou seja, as classes que representam
as tabelas do BD.
Falow