Classes Java e Tabelas do Banco de Dados

10 respostas
raci0nal

Olá amigos,
Programo em Delphi com Firebird há algum tempo e estou começando com Java. Já estudei bastante teoria, exemplos, etc; agora vou iniciar um projeto real em Java.
Será uma aplicação Desktop simples para controle de Clientes, Produtos e Vendas.
O acesso será via JDBC com o driver JayBird para Firebird.

Minha dúvida é em relação ao procedimento, talvez vocês possam me “aconselhar” sobre como fazer.
As tabelas serão criadas no banco normalmente.
Agora no código eu devo criar as classes para cada entidade? Tipo uma classe Cliente com os atributos e métodos em geral? Isso não duplicaria meu trabalho?
No caso de criar as classes eu trabalharia direto nelas? Por exemplo uma consulta que retornasse 10 clientes eu instanciaria um objeto da classe Cliente para cada cliente retornado?
Para incluir um novo Cliente eu passo os dados para um objeto da classe Cliente e depois gravo esta classe no banco?
Ou eu devo esquecer as classes e trabalhar somente no ResultSet?

O que sugerem?

Desde já agradeço

Marcos Antonio Campos Jordão’’

10 Respostas

gwoliveira

Marcos

Meu conselho pra você é utilizar de DAO pois assim você terá um desclopamento do seu sistema facilitando futuras manutenções.
De uma olhada nos links abaixo:

http://www.javafree.org/content/view.jf?idContent=183
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html

espero ter ajudado :wink:
abraços

pcalcado

Olá,

Faça uma busca no forum por ‘camadas’ e os artigos daqui:

http://fragmental.com.br/wiki/index.php?title=Main_Page

Basicamente você vai criar objetos com responsabilidades distintas, uns executam regras de negócio, outros lidam com bancos de dados, outros com interfaces, etc.

raci0nal

Eu ouvia falar muito sobre os tais Design Patterns, mas nunca peguei nenhum à fundo.

Vou estudar sobre isso…

O ruim é que é difícil encontrar exemplos para facilitar. Alguma indicação?

Muito obrigado pelas dicas.

fsquadro

raci0nal,

Mandei para o seu email, o exemplo utilizando Hibernate e DAO.

Espero que ajude.

L

Ae irmão, eles caras estão te mostrando muita novidade, você vai se enrolar com tudo isso… ande devagar…

Sobre sua dúvida… você não deve trabalhar com resultset, você deverá utilizar JavaBeans para armazenar seus dados que vem do banco… e sobre criar vários objetos… é isso mesmo, se tiver um retorno de uma query com 10 clientes será assim…

Vc terá a sua classe ClienteBean com os campos do cliente e pra cada registro retornado vc deverá criar um ClienteBean e adicioná-lo à um ArrayList…

raci0nal

Valew Leandro… realmente é muita coisa… e eu que pensei que já tinha estudado bastante sobre orientação a objeto… que herança que nada, o buraco é mais embaixo… rs

Só uma coisa… um dos motivos destes esquemas todos é poupar esforço na manutenção, certo?
Agora, uma simples adição de campo em uma tabela geraria:

  • Adicionar o campo na tabela lá no banco
  • Acrescentar o campo no meu JavaBean… setters, getters e outras possíveis regras de negócios para este campo.
  • Acrescentar na minha classe DAO (que faria inserção, edição, consulta)
  • Acrescentar no meu formulário de cadastro (JFrame)

É isso?

Dúvida: Com acesso direto do meu formulário à tabela pularia dois passos, certo?

Subdúvida: eu entendi direito as camadas de desenvolvimento do DAO?

Abraços,

Marcos Antonio Campos Jordão’’

Zeed01

Aproveitando o tópico… também sou iniciante e também tenho as mesmas dúvida.

Inclusive postei ou tópico pedindo ajuda sobre como criar uma interface grafica (na alem de uma tela) que fizesse inclusão, alteração e exclusão de dados de um BD.

As respostas são sempre genéricas… nunca objetivas !

Será que alguém pode nos ajudar ou essa estória de open source é só conversa pra inglês ver ?

Porque parece que todo mundo sabe como fazer, mas ninguém quer colocar um exemplo aqui !

Sei que o objetivo não é fazer o trabalho de ninguém, por isso volto a dizer: não tenho trabalho de escola nem projeto no trabalho para entregar, só o que quero é um exemplo simples que possa me ajudar a começar.

Agora todos só falam em Hibernate, Struts, MVC, como se fazer um sistema sem utilizá-los fosse um sacrilégio… mas eu pergunto: quantos anos tem o Java… quantos anos tem Hibernate, Struts ou MVC ?

Quer dizer que tudo que foi feito em Java esta errado ? Deve ser refeito ?
Se formos nesse ritmo, vamos reescrever muito mais código daqui pra frente.

Desculpem pelo desabafo, sinceramente não quero criar qualquer intriga, só quero que nos ajudem… se puderem.

Obrigado.

Um abraço.

pcalcado

Zeed, evolução é uma cosntante na humanidade e é algo que você não está levando em consideração nos seus comentários. java deu um passo para trás em muitas aspectos ao se distanciar de plataformas como Smalltalk e essas ‘novidades’ são basicamente formas novas de termos as mesmas possibilidades que tínhamos com as plataformas OO ‘de verdade’ em Java.

É como você perguntar se ter um computador de 8 bits era um erro. Não, não era mas é ultrapassado e não-justificável atualmente.

raci0nal

Beleza! Após esse pequeno desvio do assunto… só pra não se perder… meu tópico! rs

raci0nal:
Só uma coisa… um dos motivos destes esquemas todos é poupar esforço na manutenção, certo?
Agora, uma simples adição de campo em uma tabela geraria:

  • Adicionar o campo na tabela lá no banco
  • Acrescentar o campo no meu JavaBean… setters, getters e outras possíveis regras de negócios para este campo.
  • Acrescentar na minha classe DAO (que faria inserção, edição, consulta)
  • Acrescentar no meu formulário de cadastro (JFrame)

É isso?

Dúvida: Com acesso direto do meu formulário à tabela pularia dois passos, certo?

Subdúvida: eu entendi direito as camadas de desenvolvimento do DAO?

L

Fala aê pessoal, estou engatinhando em java, minha 1ª linguagem de programação, comecei com maior gás, mas acho mui complicado, mas de qq forma tenho q fazer algumas coisas, pois bem, minha dificuldade é:
Preciso criar uma classe simples, “main” para inserção de dados no postgress, eu consegui ler os dados com select, mas como faço uma inserção? Preciso de um exemplo de uma classe simples completa.

desde já mui grato,
Luiz.

Criado 22 de abril de 2007
Ultima resposta 2 de dez. de 2007
Respostas 10
Participantes 7