Estrutura de dados

Fala pessoal, tudo bom?

Estou começando a dominar o básico agora e gostaria de exclarecer algumas dúvidas a respeito de banco de dados.
Tenho uma classe onde tem um main que será a “janela” principal do meu java, o problema é o seguinte:

Eu criei um método para buscar dados para mim no DB. Minha dúvida é: Como devo proceder para o caminho até os dados? E a volta?

Por exemplo, eu devo chamar uma conn nesse método, criar um statement e ali gravar uma collection e retornar ela?

Ou eu devo enviar esses parametros para outra classe me executar a busca e arrumar os dados? Podem me dar exemplos teóricos? Tipo, uma classe para conexões, uma para busca e outra para fazer a collection, pois estou tendo dificuldade de imaginar o caminho até o DB.

Outra coisa, tem como eu passar dados para um método e o mesmo me retornar alguma resposta? Tipo, verificaLogin(username,senha) e ele me dar um return true ou false?

Se puderem me ajudar, teoricamente só, sem exemplos de códigos.

Valeu

Hum, um conselho de quem tabém está começando: não tente pensar em tud o de uma vez.

Comecemos pelo princípio da divisão de N camadas.

  1. Camada de visualização (View): contém a interface com a qual o usuário interage.
  2. Camada de controle (Controler): recebe requisições da view (ex.: verificaLogin()), passa essa chamada para a camada de dados e retorna a resposta para a view. Cuida das regras do negócio.
  3. Camada de dados (Model): realiza as operações relacionadas aos dados, como bancos de dados :smiley: não contém regras de negócio.

Esse trio é conhecido como o modelo MVC.

Um exemplo simples:

1. view: usuário preenche usuário e senha e clica no botão 'logar'.
2. controler:
          - recebe o valor do usuário e da senha.
          - verifica se um deles não está em branco.
                    * se não estiver, não precisa checar mais nada, já retorna uma mensagem de erro para a view, avisando o erro.
          - chama o método getByUserAndPass( String user, String pwd ) localizado na camada Model, que retorna um objeto User se o usuário existir ou null caso contrário.
3. model: conecta no banco, faz a query, cria  e popula um objeto User
4. controller:
          - se o método retornar null, envia a mensagem de erro para a view
          - se retornar um objeto Usuário, manda a view prosseguir.
5. view: fecha a tela de login e abre a principal.

Simples não? Uma viagem de ida e volta.

Para saber muito muito mais sobre mvc, leia o tópico “Então você quer aprender MVC” hehe :smiley:

Bons estudos.

Valeu!!! já me deu uma visão boa… bem boa…

Sabe LIPE, estive pensando…
antes de me aventurar em MVC, ainda vou ficar um tempo estudando uma classe principal, acessando a outra, procurando nos dados e retornando… hehehehehe quando eu pegar o jeito nisso pulo para web e MVC…

mas mesmo assim valeu… era isso mesmo que eu estava procurando…

Hum, na minha cabeça aventura mesmo é desenvolver aplicações com 2 camadas hehe

Apesar de ser difícil assimilar estes conceitos no princípio, teste fazer uma aplicação bem simples com pelo menos 3 camadas, verá que não é difícil. Boa parte do “resto” (como pegar uma conexão, como criar statements, como mostrar a exceção pro usuário etc) surge naturalmente a partir de refatoração do código e bom senso :smiley: