Classes de comunicação com banco de dados mysql

6 respostas
Israel_Caetano

pessoal da pra me explicar sobre classes de conexão com banco de dados entre Java e MySql? é que estou fazendo curso de programação, e como estou entrando nesse mundo agora, esta surgindo muitas dúvidas. Desde já Obrigado a todos!

6 Respostas

marcoslogan

Bom, eu queria saber o seguinte vc já estudou Programação em Camadas com POO?

Se não eu aconselharia a vc da uma olhada.

Se sim, você de saber que num programa nós podemos colocar quantas camadas forem necessárias, depende do escopo do projeto, e uma dessas camadas é a comunicação entre as classes Java que você criou e a base de dados do seu sistema.

É nessa camada de persistência de dados que você inserirá os dados da classe no banco de dados, bem como alterar esses dados, excluir e pesquisar.

Você antes de tudo tem que abrir uma conexão, ou você abre direto na sua classe de dados ou faz em separado, ou seja, você cria uma classe exclusiva para a conexão com o banco de dados MySQL.

public class GerenciadorMySQL{
          public void CloseConexao(Connection Con)throws ConexaoErroException, SQLException{
               try{
                  Con.close();
               }catch(SQLException exe){
                    throw new ConexaoErroException("Erro ao tentar fechar a conexão");
               }
          }


         public void CloseStatement(Statement Stim)throws ConexaoErroException, SQLException{
                try{
                    Stim.close();
                }catch(SQLException exe){
                        throw new ConexaoErroException("Erro ao tentar fechar o Statement");
                }
         }



        public Connection getConexao()throws ConexaoErroException, SQLException{
                Connection Con = null;
                try{
                      Class.forName("com.mysql.jdbc.Driver");
                      Con = DriverManager.getConnection("jdbc:mysql://localhost/dbteste","root","");//Isso aqui é obrigatório você programar, aqui é que você está dizendo ao Java, onde que fica a sua base de dados, onde tem localhost, você pode colocar também o ip da máquina que você configurar como servidor de dados.
                }catch(ClassNotFoundException classeNaoEncontrada){
                      try{
                    
                           throw new ConexaoErroException(classeNaoEncontrada.getMessage()+"\n"+"Driver Não Encontrado");
                      }catch(ConexaoErroException exe){
                             throw new ConexaoErroException("Erro");
                      }
                 }catch(SQLException exe){
                      throw new ConexaoErroException("Erro ao tentar Conectar");
                 }
        }
    }

Eu fiz assim, criei uma classe de conexão com o banco de dados mySQL, em todos os meus repositórios de dados, eu só chamo os métodos e tudo está resolvido. Fácil não?

qualquer dúvida dar uma olhada na API do java.

A Connection e o Statement pertencem ao pacote java.sql, o DriverManager também pertence ao pacote java.sql.

Espero ter ajudado.

Israel_Caetano

É ainda não estudei camadas POO vou estudar essas camadas, qualquer coisa posto as dúvidas, sinceramente ainda não tinha visto falar dessas camadas, agora que você mencionou vou estudar. Valeu mesmo pelas dicas marcoslogan, ajudou muito.

marcoslogan

Olha quando vc for implementar a conexão com o banco de dados, cria uma classe só para conexões com banco de dados.

porque assim, nas classes de repositório de dados só vai está os códigos SQL.

Na minha opinião fica melhor para codificar, pelo menos você não tem que ficar digitando várias vezes a mesma coisa.

Quando você for implementar os métodos de inserção, deleção, alteração, e pesquisa, da uma estudada em PreparedStatement, ele é melhor para usar do que o Statement.

vai no java.sun.com

Israel_Caetano

blz marcoslogan! vou estudar também PreparedStatement. Valeu por essas ricas dicas estão me ajudando muito.

nel

Boa noite.

Tutorial pequeno, simples, fácil de entender e muito bom! É sobre JDBC, justamente (creio eu) o que você procura.

http://www.guj.com.br/article.show.logic?id=7

Abraços. :slight_smile:

Israel_Caetano

Valeu Neu! Obrigadão…

Criado 25 de novembro de 2009
Ultima resposta 26 de nov. de 2009
Respostas 6
Participantes 3