[RESOLVIDO] Como fazer conexão com mysql usando JDBC pattern Dao e uso de preparedstatements

4 respostas
I

Eu ja criei uma conexão com banco de dados, mas eu fiz usando uma classe só. Eu criei uma classe DbCon, a conexão ficava no construtor, e logo após vinham métodos com selects, inserts e tal. Ficou muito desorganizado, e quero refazer usando o pattern Dao.

public class DbCon
{       
    public static void getConnection()
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost/reposicaopecas?user=root&password=123");
        }catch(ClassNotFoundException ex)
        {
            
        }catch(SQLException ex)
        {
            
        }
    }

Ta certo isso? Nessa classe só vai ter a conexão, mas eu vou usar prepared statements, aí como eu faço? o "con" deveria ser um atributo da classe para que eu use os prepared statements, certo?

4 Respostas

otaviojava

A classe Dbcon, também usado o nome ConectionFactory, é usada somente para enviar a conexão mesmo.
Ao invés de void, você retornaria uma Conexão.
O pacote dao, seria a representação de cada model para fazer o CRUD (create retreve update delete) dentro do banco de dados.
Exemplo:

public class Pessoa{

private nome;
//get e set

}
public class PessoaDao{
//CRUD
}

O legal disso é que se vc usar o SQL ANSI, você só precisará mudar mesmo a conexão quando quiser mudar o banco de dados,

obs: Existem frameworks que automatizam isso depois procure por jpa e hibernate.

I

Opa, valeu pela resposta. Então, ao invés de eu retornar a conexão, eu deixei ela como estática.
Será que tem algum problema fazer isso? Deixei como public static, então talvez seja melhor o retorno mesmo…

mapleplayer

Faz o seguinte.
Crie uma classe factory para criar a conexao com o banco.

E na sua classe DAO vc recebe a conexao pelo construtor e atribui tal conexao a um atributo da classe DAO.
Ae eh soh fazer os metodos CRUD

otaviojava

mapleplayer:
Faz o seguinte.
Crie uma classe factory para criar a conexao com o banco.

E na sua classe DAO vc recebe a conexao pelo construtor e atribui tal conexao a um atributo da classe DAO.
Ae eh soh fazer os metodos CRUD


boa

Criado 26 de julho de 2011
Ultima resposta 27 de jul. de 2011
Respostas 4
Participantes 3