Persistência de Dados - Java DAO (Data Access Object)

Поделиться
HTML-код
  • Опубликовано: 14 дек 2024

Комментарии • 60

  • @wesleysantos6289
    @wesleysantos6289 2 года назад +8

    Muito bom cara! Simples direto e com exemplos bem didáticos, era exatamente o que eu estava procurando! Obrigado. 👏👏👏

    • @ravarmes
      @ravarmes  Год назад

      Obrigado pelo retorno. Feliz por ajudar. Abs.

  • @ccledman
    @ccledman 2 года назад +5

    Melhor explicação e exemplo que vi! Estava com dúvidas e foi muito elucidador! Parabéns!

    • @ravarmes
      @ravarmes  2 года назад

      Obrigado por assistir. Abraço.

  • @programacaojajava
    @programacaojajava 3 года назад +4

    Muito bom! Usei para relembrar umas coisas de Java com JDBC!
    Lembrando que a partir do Java 6 não é necessário usar o " Class.forName(String string); "

  • @caioalves5961
    @caioalves5961 3 года назад +6

    A sua didática é ótima, tem me ajudado bastante! Muito obrigado ;)

    • @ravarmes
      @ravarmes  3 года назад

      Olá Caio, obrigado pelo retorno. Um abraço!

  • @gabrielsuldine
    @gabrielsuldine 2 года назад +2

    Excelente aula, me ajudou bastante

    • @ravarmes
      @ravarmes  2 года назад +1

      Obrigado por assistir Gabriel. Abraço.

  • @elianebravo2421
    @elianebravo2421 4 года назад +3

    Vídeo muito bom, aprendendo cada vez mais.

    • @ravarmes
      @ravarmes  3 года назад +1

      Legal Eliane, fico muito feliz! Um abraço!

  • @evandro_fs
    @evandro_fs 4 года назад +3

    Excelente vídeo, ótima explicação. Obrigado!

    • @ravarmes
      @ravarmes  3 года назад

      Valeu Evandro. Muito obrigado! Um abraço!

  • @joaovitorgarciadealmeida6458
    @joaovitorgarciadealmeida6458 Год назад +2

    Cara que didática f***! Estou fazendo um curso introdutório na Alura JDBC, mas de verdade, a forma que você explicou sobre DAO e no vídeo de Persistência de Dados, é 1000x melhor, muito mais clara e objetiva, principalmente, a forma como você colocou! Sem contar a sua explicação sobre MVC. Sei lá quantos vídeos eu vi sobre esse tema e sempre saia achando que ainda não estava 100% claro, mas pelo sua explicação e falando melhor sobre a classe Controller, o download foi feito kkkkkk Espero que você volte a gravar vídeos sobre JAVA! Ganhou um inscrito também. Não desiste do canal, pfvr!

    • @ravarmes
      @ravarmes  Год назад +2

      Valeu. Muito obrigado por assistir e pelo retorno. Grande abraço.

    • @viniciusporto8718
      @viniciusporto8718 Год назад

      hahaah vim atrás de uma explicação melhor também, o da Alura não explicou nada.

    • @ravarmes
      @ravarmes  Год назад +1

      @@viniciusporto8718 Tmj! Obrigado por assistir.

    • @vivianfreitas9726
      @vivianfreitas9726 Год назад +1

      Eu estava vendo o mesmo vídeo do Nélio Alves na Udemy e saí da aula sem entender nada. Parei nesse vídeo aqui e consegui entender em 10 minutos.@@viniciusporto8718

  • @yasuda1618
    @yasuda1618 2 года назад +1

    Excelente! Muito esclarecedor

    • @ravarmes
      @ravarmes  2 года назад

      Obrigado pelo comentário. Fico feliz!

  • @marcosgasparinijr711
    @marcosgasparinijr711 Год назад

    Didática MUITO FODA, obrigado !!!!

    • @ravarmes
      @ravarmes  Год назад

      Muito obrigado por assistir. Que bom que está ajudando! Grande abraço!

  • @isinha66
    @isinha66 8 месяцев назад

    você ensina muito bem, obrigada!!

    • @ravarmes
      @ravarmes  8 месяцев назад

      Eu que agradeço. Fico feliz em ajudar.

  • @wekisleysouza2605
    @wekisleysouza2605 Год назад

    Tu é foda manooo!! Me ajudou demais!

    • @ravarmes
      @ravarmes  Год назад

      Vlw. Obrigado pra assistir. 😉

  • @assis3033
    @assis3033 3 года назад +1

    Show, bem explicado

    • @ravarmes
      @ravarmes  3 года назад

      Que bom que gostou!

  • @letyciaesteves
    @letyciaesteves 2 года назад +2

    top demais cara

    • @ravarmes
      @ravarmes  2 года назад

      Olá, muito obrigado pelo feedback e por assistir.

  • @mk1skskskwksooaisxk
    @mk1skskskwksooaisxk 2 года назад +2

    melhor didática

    • @ravarmes
      @ravarmes  2 года назад

      Olá, muito obrigado pelo retorno. Que bom que ajudou.

  • @andreviniciusbezerradasilv9335

    carambolas bro que didática surreal, tu tem tutorial de spring tb ?

    • @ravarmes
      @ravarmes  Год назад +1

      Opa. Muito obrigado por assistir e pelo retorno. Sobre Spring, tenho uma playlist no canal. Eu explico um backend completo. Espero que ajude. Abraço!

  • @anapaulapereirapessoa3630
    @anapaulapereirapessoa3630 4 года назад +3

    Ótimo vídeo Rafael as suas explicações são sempre muito esclarecidas. Porém fiquei com dúvida eu posso considerar que o padrão DAO tem a mesma finalidade que o padrão MCV?

    • @ravarmes
      @ravarmes  4 года назад +2

      Olá Ana Paula, que bom que as explicações estão ajudando. Sobre sua dúvida, não. Os padrões DAO e MVC possuem finalidades diferentes. O MVC tem o objetivo principal de separar o código em camadas com objetivos específicos (Model View Controller). Já o padrão DAO tem a finalidade de melhorar a legibilidade do código relacionado ao acesso ao banco de dados, à partir da implementação de classes específicos para isso (por exemplo, ClienteDAO).

  • @wevertontsousa
    @wevertontsousa Год назад

    Tudo bem?
    Gostei da aula.
    As classes Mains são as classes Controllers do MVC?

    • @ravarmes
      @ravarmes  Год назад

      Olá, obrigado por assistir. A classe Main na aplicação JavaFX é responsável por instanciar o Stage e a Scene. Basicamente a janela. Já as controllers são responsáveis por implementar os eventos das FXMLs. Um abraço!

  • @pedrobotelho6816
    @pedrobotelho6816 Год назад

    vc pode me tirar uma duvida, quando eu vou inserir um cliente no meu estou com dificuldade, pois meu cliente possui uma varivel endereco do tipo Endereco que seria outra classe, onde nela existe a rua, bairro e tudo mais, alguma ideia de como faço para inserir de forma correta?

    • @ravarmes
      @ravarmes  Год назад

      Opa, blz! Pedro, eu precisaria de mais tempo para explicar melhor. No entanto, pelo que entendi da sua pergunta, sua classe Endereco está apenas com a finalidade de organização dos atributos, pois na prática não faz muito sentido criar uma chave primária para uma futura tabela Endereco. Sendo assim, tenho duas sugestões para você: 1) eliminar a classe endereço e incluir os atributos da mesma na classe Cliente - assim a classe Cliente irá persistir dados na tabela cliente; 2) manter a classe Endereco, mas, no banco de dados criar tabela apenas para classes concretas, ou seja, apenas a tabela cliente com os dados de Cliente e Endereco... Como lhe disse, em alguns sistemas é importante gerar relatórios sobre ruas, bairros, etc. Nestes casos, é importante que os conceitos de Rua, Bairro, etc., sejam classes e também tabelas. No entanto, pelo que descreveu, parece que as classes Rua e Bairro não serão necessárias. Um abraço! Qq coisa, pode comentar aqui! Muito obrigado por assitir.

  • @dsdcp
    @dsdcp 3 года назад +1

    melhor aula que assisti relacionado a DAO, porem fiquei com uma duvida, porque é nescessario criar um main para cada operação SQL ,apenas 1 main não é suficiente?

    • @ravarmes
      @ravarmes  3 года назад +2

      Olá Daniel, bom dia! Obrigado por assistir e que bom que está ajudando. Sobre sua dúvida, na verdade a criação de um Main para cada teste foi só uma questão didática. Mas, realmente, não é necessário um Mais para cada operação SQL. Você poderia testar todas as operações SQL em uma mesmo Main.

  • @maykondias8240
    @maykondias8240 11 месяцев назад

    Regra de negócio é tratada no Model

  • @nahnunes2302
    @nahnunes2302 2 года назад

    Rafael, boa tarde,
    no minuto 19:50 na linha 13 tem a classe Cliente, na linha 16 e na linha 22 também, mas com parâmetros diferentes. Porque é necessário isso? Não seria suficiente só uma public Cliente com todos os parâmetros não?

    • @ravarmes
      @ravarmes  2 года назад +2

      Olá Natália, obrigado por assistir. Os dois são métodos construtores. O método com todos os parâmetros eu criei para poder instanciar objetos do tipo Cliente já preenchendo seus atributos. O outro foi gerado pela IDE automaticamente. Mas, de fato, é um método que existe implicitamente em todas classes. Portanto, realmente, não precisaria existir. QQ dúvida, estamos aí.

  • @hotelbrh8418
    @hotelbrh8418 2 года назад

    Muito bom!
    Tô com um sistema tô tendo dificuldade para excluir os dados já implementados no banco de dados
    Se estiver somente no cadastro eu consigo excluir, uma vez no banco não exclui
    Qual o truque?

    • @ravarmes
      @ravarmes  2 года назад

      Olá, primeiramente muito obrigado por assistir. Infelizmente não entendi sua pergunta. Caso possa refazê-la, tento responder melhor. Um abraço!

  • @hotelbrh8418
    @hotelbrh8418 2 года назад +1

    O connection é no dao ?

    • @ravarmes
      @ravarmes  2 года назад +1

      Olá, obrigado por assistir. O objeto do tipo Connection está na DAO nestes exemplos. O Detalhe principal é que o mesmo está sendo instanciado na própria instanciação do objeto do tipo DAO. Isso faz com que para cada objeto do tipo DAO tenhamos um objeto do tipo Connection... Esta estratégia pode ser melhorada, trabalhando com uma quantidade menor de Connection's, uma vez que a abertura de conexão é dispendiosa, bem como, possibilitando gerenciamento de transações de maneira mais fácil. No entanto, como é um vídeo introdutório, não abordei todas essas possibilidades. Um abraço!

  • @lazarodamasceno4743
    @lazarodamasceno4743 Год назад

    Dá para usar DAO e SERVICE no mesmo projeto?

    • @ravarmes
      @ravarmes  Год назад

      Oi, obrigado por assistir. Sim. No padrão de desenvolvimento em camadas, particularmente quando estamos trabalhando em API REST, as controllers recebem as requisições, as services implementam as regras de negócio, e as DAO (ou repositories) implementam a persistência.

    • @lazarodamasceno4743
      @lazarodamasceno4743 Год назад

      @@ravarmes Usar DAO ou repository dá no mesmo?

    • @ravarmes
      @ravarmes  Год назад

      @@lazarodamasceno4743 DAO é o nome do padrão. Repository é uma das implementações possíveis. Por exemplo, é a maneira como o framework Spring Boot no Java implementa a persistência.

    • @lazarodamasceno4743
      @lazarodamasceno4743 Год назад +1

      @@ravarmes Obrigado. Sua resposta ajudou muito.

  • @edleyhoyler6862
    @edleyhoyler6862 3 года назад

    O método recover deveria ser nomeado como delete não é? Recover é recupera mas ele tá deletando.. a única coisa que ele recupera é verdadeiro ou falso ao deletar.

    • @ravarmes
      @ravarmes  3 года назад +1

      Olá Edley, obrigado por assistir. O nome do método é 'remover' e não 'recover'. E sobre a finalidade do método, você está certo. Ele apaga o registro no banco de dados e retorna verdadeiro (se conseguir apagar) ou falso (caso contrário)

    • @edleyhoyler6862
      @edleyhoyler6862 3 года назад +1

      Vdd eu estava vendo pelo celular. Kkkk vc está correto.

  • @viniciusbreda9510
    @viniciusbreda9510 3 года назад +2

    Excelente !!! Obrigado pelo material, ajudou muito.

    • @ravarmes
      @ravarmes  3 года назад +1

      Valeu Vinícius. Um abraço!