Utilizando MongoDB com Spring Data

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ธ.ค. 2024

ความคิดเห็น • 48

  • @AndersonSantos-ur4nf
    @AndersonSantos-ur4nf ปีที่แล้ว

    Parabéns, muito didático e útil esse conteúdo.

  • @uendelalvarez5958
    @uendelalvarez5958 ปีที่แล้ว

    Muito boa explicação William. Parabéns. Eu não conhecia MongoDB. Facilitou muito meu entendimento!

  • @thalys3046
    @thalys3046 ปีที่แล้ว

    Ótima aula, muito obrigado!

  • @danielandrade3389
    @danielandrade3389 ปีที่แล้ว +3

    Como o instrutor não fez o update e o delete, para ficar completão eu fiz e vou disponibilizar, vlw
    ```
    public interface FuncionarioService {
    public Funcionario alterar(String id, Funcionario funcionario);
    public void deletar(String id);
    }
    ```
    OBS. Eu implementei uma exception que a utilizei para caso não encontre o id do funcionário
    ```
    public class FuncionarioNotFoundException extends RuntimeException{
    public FuncionarioNotFoundException(String id){
    super("Funcionário com ID " + id + " não encontrado.");
    }
    }
    ```
    ```
    @Service
    public class FuncionarioServiceImpl implements FuncionarioService {
    @Override
    public Funcionario alterar(String id, Funcionario funcionario) {
    return funcionarioRepository.findById(id)
    .map(existingFuncionario -> {
    funcionario.setId(id);
    return funcionarioRepository.save(funcionario);
    })
    .orElseThrow(() -> new FuncionarioNotFoundException(id));
    }
    @Override
    public void deletar(String id) {
    funcionarioRepository.findById(id).ifPresentOrElse(
    funcionario -> funcionarioRepository.deleteById(id),
    () -> {
    throw new FuncionarioNotFoundException(id);
    });
    }
    }
    ```
    ```
    public class FuncionarioController {
    @PutMapping("/{id}")
    public Funcionario alterarFuncionarioPorId(@PathVariable String id, @RequestBody Funcionario funcionario){
    return funcionarioService.alterar(id, funcionario);
    }
    @DeleteMapping("/{id}")
    public void deletarFuncionarioPorId(@PathVariable String id){
    funcionarioService.deletar(id);
    }
    }
    ```
    Agora está completão a API.
    Pra quem quiser eu add a query abaixo para buscar nomes com as iniciais especificadas, independentemente de estarem em maiúsculas ou minúsculas:
    @Query("{'nome': {$regex : ?0, $options: 'i'}}")
    public List findByNome(String nome);

  • @jcvernetti1
    @jcvernetti1 3 ปีที่แล้ว +2

    Excelente!

  • @eliasalvest.i.646
    @eliasalvest.i.646 2 ปีที่แล้ว +2

    Muito bom Willian, vc poderia criar uma aplicação de test para chamar uma api externa pegando o client oauth2, você explica muito bem, parabéns, Gratidão!!!

    • @algaworks
      @algaworks  2 ปีที่แล้ว +1

      Olá Elias, temos isso na nossa aula sobre spring authorization server

  • @loesux
    @loesux 2 ปีที่แล้ว

    Mandou muito, obrigado!

  • @sergiothiagoxtz
    @sergiothiagoxtz 3 ปีที่แล้ว

    Muito bom, ficou totalmente transparente, até parece a utilização de um banco relacional com poucas alterações.

  • @GolDePlacaTv
    @GolDePlacaTv 3 ปีที่แล้ว

    AlgaWorks sempre mostrando uma coisa dificil se tornar fácil alem de explicar os conceitos muito BOM, PARABENS

  • @prcarbonera
    @prcarbonera 3 ปีที่แล้ว

    Muito bom o seu video. Direto, objetivo e com informações relevantes.

  • @josepaulojr7227
    @josepaulojr7227 4 ปีที่แล้ว +3

    Já cheguei sentando o like!!
    Estou louco pela por ter uma bolsa de estudos na AlgaWorks srsr.

    • @algaworks
      @algaworks  4 ปีที่แล้ว

      Poxa, valeu de mais Paulo! Logo logo nos vemos nos cursos :D

  • @ChandlerBing11
    @ChandlerBing11 4 ปีที่แล้ว +2

    Excelente abordagem do Spring com o MongoDB, Will! Agora é sair da zona de conforto dos SQL pro NoSQL heheje Da hora!

    • @algaworks
      @algaworks  4 ปีที่แล้ว

      Poxa, muito obrigado mesmo!!! Isso ai, agora é treinar e inovar nos projetos :D

  • @vitoriarafaelly7656
    @vitoriarafaelly7656 3 ปีที่แล้ว

    Muito bom!! Salvou minha vida, muito obrigada.

  • @JulianoCompart
    @JulianoCompart 2 ปีที่แล้ว

    Conteúdo muito bom!

  • @leonardoamorimramos5656
    @leonardoamorimramos5656 3 ปีที่แล้ว +1

    Excelente material, expressado de uma forma muito didática! Parabéns ao instrutor!

  • @gilneyalmeida8079
    @gilneyalmeida8079 3 ปีที่แล้ว +1

    Como vai William, gostei muito deste curso...
    Olhei o curso todo e agora vou procurar colocar em prática usando o Spring tool suite e os frameworks que vc descreveu...
    Se eu tiver dúvidas, vou perguntar, ok?
    Eu já fiz outro curso da Algaworks e gostei também...

  • @vitormedeiros4606
    @vitormedeiros4606 3 ปีที่แล้ว

    Já sentei o dedo no like

  • @joaopauloantoniazzidemorae5334
    @joaopauloantoniazzidemorae5334 4 ปีที่แล้ว +1

    Parabéns pelo excelente conteúdo!!!

    • @algaworks
      @algaworks  4 ปีที่แล้ว

      Poxa, muito obrigado mesmo João Paulo!

  • @marcosvf
    @marcosvf 3 ปีที่แล้ว

    Excelente vídeo, direto ao ponto e bem explicado, parabéns

  • @gabrielsoares7875
    @gabrielsoares7875 3 ปีที่แล้ว

    Irmao, parabens pelo conteudo!

  • @pedrohugoferreirajustino2917
    @pedrohugoferreirajustino2917 2 ปีที่แล้ว +1

    Boa didática. Teria mais algum material, vídeo ou curso referente MongoDB com Spring Data? Teria material aprofundando-se sobre consultas?

  • @brunocazelatto1890
    @brunocazelatto1890 3 ปีที่แล้ว

    Opa, muito bom vídeo, você tem esse projeto pra clonar o repositório e deixar aqui pra estudo?

  • @fedarkss
    @fedarkss 4 ปีที่แล้ว +1

    Excelente, muito foda.

  • @jcvernetti1
    @jcvernetti1 3 ปีที่แล้ว +1

    Bom dia. Muito boa a vídeo-aula. Porém, estou tendo dificuldade com relação aos imports: por exemplo, o STS4 não está reconhecendo "import org.springframework.data.mongodb.repository.MongoRepository". Eu adicionei os 4 starters. Alguma dica? Muito obrigado.

  • @CarlosSilva-to3mz
    @CarlosSilva-to3mz 2 ปีที่แล้ว +1

    Olá não to conseguindo fazer com que minha aplicação se conecte ao mongodb, ela informa um erro na URL que ele não a encontra. Por favor onde posso tirar as minhas duvidas?

  • @vinigt
    @vinigt ปีที่แล้ว

    Como tratar performance de n+1 usando essa lib?

  • @professordaniloalmeida
    @professordaniloalmeida 4 ปีที่แล้ว

    Muito bom. Fiquei com uma dúvida no Lombok. Você usa a anotação @Data, não precisa especificar qual é a chave do Equals e Hashcode?

    • @algaworks
      @algaworks  4 ปีที่แล้ว +1

      Olá Danilo!
      Para esse exemplo não adicionei, pela simplicidade do mesmo. Mas é sempre uma boa prática especificá-los sim.

  • @alansantos4669
    @alansantos4669 3 ปีที่แล้ว +1

    Como ficaria a query se fosse buscar por nome ?

  • @MilsonPazienza
    @MilsonPazienza 4 ปีที่แล้ว +1

    Quando eu envio um objecto "Funcionario" para API, ela näo me retorna o novo Funcionario criado mesmo com a notacao @RequestBody no Metodo, fiz uma consulta dentro do proprio MongoDB através 3T e lá ele cria um registro diferente, apenas com 2 campos ID e Class Funcionario e esse classe funcionário nöao é um JSON com os atributos que compoem a propria classe Funcionario. Que estranho, até agora nao entendi o porque disso.

    • @amonlara1350
      @amonlara1350 4 ปีที่แล้ว +1

      Verificou se os getters e setters da sua classe funcionario estao ok? Voce esta utilizando lombok conforme o video ? Se sim Verifique se a anotação @Data esta presente na sua classe Funcionario. Abraços

    • @MilsonPazienza
      @MilsonPazienza 4 ปีที่แล้ว

      Olá @@amonlara1350, eu estou usando sim a dependência lombok e a Classe tem anotação @Data sim. mas sinceramente agora aqui também pensando, só poderia mesmo ser isso. Assim que eu voltar a mexer nesse projeto, vou rever isso, muito Obrigado.

    • @gabrielsoares7875
      @gabrielsoares7875 3 ปีที่แล้ว

      Aqui tb deu o mesmo erro.. estudando sobre lombok parace que a comunidade nao recomenda. O melhor mesmo é usar o jeito antigo que funciona.

  • @patrickguedes9455
    @patrickguedes9455 4 ปีที่แล้ว

    Daria pra mesclar sem problemas um projeto com NoSQL e SQL?

    • @algaworks
      @algaworks  4 ปีที่แล้ว +1

      Olá Patrick!
      Com certeza, dá pra mesclar sim.

  • @ismadrade
    @ismadrade 3 ปีที่แล้ว

    Uma dúvida com relação ao editar. No caso se eu precisasse criar um endpoint do tipo Put, e quisesse alterar somente um valor da classe chefe, como por exemplo o salario dele. Eu teria que enviar todos os dados de funcionario e do chefe pra editar um atributo? Ou se eu enviar somente o salario do chefe modificado ele entenderia e alteraria no documento do Mongo? Pergunto isso pq estou iniciando no NoSql e estou sentindo bastante difirença do SQL hehe.

  • @jcvernetti1
    @jcvernetti1 3 ปีที่แล้ว

    Resolvido.

  • @jaysanttana6349
    @jaysanttana6349 ปีที่แล้ว

    💯👏👏👏👏👏

  • @denilsonperspectiva
    @denilsonperspectiva 4 ปีที่แล้ว +1

    Faz com Webflux.

    • @algaworks
      @algaworks  4 ปีที่แล้ว

      Olá Denilson! Já está anotado a sugestão

  • @jansenpires7495
    @jansenpires7495 4 ปีที่แล้ว +1

    Estou tendo problemas com o findById, alguem mais está tendo esse problema?

    • @FelipeVieira39
      @FelipeVieira39 3 ปีที่แล้ว +2

      se alguem passar por aqui, provavelmente voce colou outro tipo no repository diferente de string.

    • @sergiothiagoxtz
      @sergiothiagoxtz 3 ปีที่แล้ว +1

      @@FelipeVieira39 ele deve ter colocado Long mesmo, a id do Mongo tem que ser String. É um Hash e não um autoincremento como em banco relacionais...