Programação Web com JSF - Aula 8 - Implementando CRUD

  Рет қаралды 26,898

Professor Danilo

Professor Danilo

Күн бұрын

Пікірлер: 57
@SkyGamer7
@SkyGamer7 6 жыл бұрын
Não sou de comentar, mas parabéns pelo conteúdo. Muito bom mesmo.
@adriano10df
@adriano10df 8 жыл бұрын
Ola professor Danilo Souza, pra quem esta no inicio igual a min em JSF, suas aulas são espetaculares, Deus te abençoe.
@professordaniloalmeida
@professordaniloalmeida 8 жыл бұрын
Obrigado.
@danbaumann84
@danbaumann84 8 жыл бұрын
Muito bom professor! Aprendi mais que na minha pós sobre JSF., sua didática é show!
@viniciussanson9907
@viniciussanson9907 5 жыл бұрын
Ótimas aulas professor, me ajudaram muito a desenvolver meu primeiro crud em Java Web
@ruriknj
@ruriknj 4 жыл бұрын
Professor Danilo meus parabéns. Nestes 6 meses de estudo sobre o assunto, seus videos foram disparados os melhores, e olha que já vi muitos vídeos. Pena que você tenha parado de faze-los. Se tiver algum treinamento mesmo pago sobre este assunto masi avançado, gostaria de fazê-lo. Obrigado por compartilhar este conhecimento.
@professordaniloalmeida
@professordaniloalmeida 4 жыл бұрын
Estou voltando aos poucos. Estou preparando um curso de desenolvimento web.
@simonepacifico767
@simonepacifico767 8 жыл бұрын
Parabéns Professor pela excelente aula! Obrigada!
@tiagocreed
@tiagocreed 4 жыл бұрын
parabéns ! me ajudou bastante, deveria ter a parte de login também.
@fabbiomonteiro82
@fabbiomonteiro82 8 жыл бұрын
Danilo, as aulas são excelentes, estou esperando as próximas.
@iqueluiz65465
@iqueluiz65465 6 жыл бұрын
muito bom estes videos comecei a desenvolver através destes videos a seis meses, não tinha conhecimento de PrimeFaces. hoje tenho uma duvida como realizo a foco em um p:inputText ao iniciar a pagina e como altero para o próximo teclando enter?
@guilhermeserratemaia8385
@guilhermeserratemaia8385 9 жыл бұрын
Sou fã dos seu videos, estou aprendendo bastante. Gostaria de saber se você vai continuar a postar videos aqui, iri me ajudar muito. Muito obrigado, espero que não tenha parado de postar vídeos.
@professordaniloalmeida
@professordaniloalmeida 9 жыл бұрын
Em breve teremos novos vídeos
@juniintv615
@juniintv615 8 жыл бұрын
Cara Muiito Legal, Salvou meu projeto. :)
@professordaniloalmeida
@professordaniloalmeida 8 жыл бұрын
Espero ter ajudado.
@SuperBrustolin
@SuperBrustolin 8 жыл бұрын
Parabéns pelo post
@dvigas7547
@dvigas7547 5 жыл бұрын
Oi @Danilo Souza Almeida. Vc bem que poderia criar um projeto de exemplo com pelo menos 3 tabelas relacionadas. Estou procurando algum exemplo disso. Vejo alguns usando Hibernate e outros outras coisas, porem a didatica (a explicacao) e legal quanto a sua. E acaba confundindo mais ou deixando de saber algumas coisas importantes. Quando vou tentar fazer o meu acabo ficando preso em algum ponto. Acredito q com sua didatica e juntando tudo que vc fez ai ficaria otimo, um video a mais nessa lista com 3 tabelas relacionadas. Muito obrigado pelos videos e a maneira de explicar, por responder os comentarios e pela educacao. Poderia me dizer se para fazer isso o ideal e usar o Hibernate? Por exemplo se eu quisesse criar mais duas tabelas ai nesse projeto seu e relacionar elas, tenho q mapear, usar Hibernate....? Qual seu conselho? Obrigado desde ja. Abraco, bom domingo.
@professordaniloalmeida
@professordaniloalmeida 5 жыл бұрын
Olá Dvigas, então, estou construindo um roteiro para justamente para ensinar JSF, Hibernate e CDI, a ideia é ensinar justamente a desenvolver algo mais complexo com vários relacionamentos, mas mantendo a praticidade que foram as outras aulas. Com relação ao Hibernate ser ou não o ideal, em geral eu diria que é sim o ideal, pois ele abstraí muitas complexidades de projeto como por exemplo o relacionamento entre tabelas, mas é preciso estudar um pouco para não errar nos relacionamentos. Se não puder esperar as aulas, faça uma pesquisa no Google sobre relacionamentos hibernate que você encontrará muito material explicando. Te vejo em breve. Abraços.
@fabiosoarde
@fabiosoarde 7 жыл бұрын
oi Danilo, fiz e refiz suas aulas, excelentes por sinal. Não consigo resolver um problema com o Editar, ao alterar e salvar da mensagem "Erro ao tentar salvar ..."
@pinkz0r683
@pinkz0r683 8 жыл бұрын
Boa tarde, Estou com o seguinte erro ao implementar a partir do minuto 30:00 Os itens : getDao().salvar(entidade); , getDao().deletar(entidade); e getDao().buscar(); estão com o seguintes erros/avisos : Type safety: The method salvar(Object) belongs to the raw type CrudDAO. References to generic type CrudDAO should be parameterized Type safety: The method deletar(Object) belongs to the raw type CrudDAO. References to generic type CrudDAO should be parameterized Type safety: The expression of type List needs unchecked conversion to conform to List O que poderia ser?
@professordaniloalmeida
@professordaniloalmeida 8 жыл бұрын
Posta o código do getDao.
@pinkz0r683
@pinkz0r683 8 жыл бұрын
public abstract class CrudBean { WARNING do extend CrudDAO acima : CrudDAO is a raw type. References to generic type CrudDAO should be parameterized private String estadoTela = "buscar"; // Inserir, Editar, Buscar private E entidade; private List entidades; public void novo() { entidade = criarNovaEntidade(); mudarParaInserir(); } public void salvar() { try { getDao().salvar(entidade); WARNING DO getDao.salvar: Type safety: The method salvar(Object) belongs to the raw type CrudDAO. References to generic type CrudDAO should be parameterized entidade = criarNovaEntidade(); adicionarMensagem("Salvo com sucesso",FacesMessage.SEVERITY_INFO); mudarParaInserir(); } catch (ErroSistema e) { Logger.getLogger(CrudBean.class.getName()).log(Level.SEVERE, null, e); adicionarMensagem("Salvo com sucesso",FacesMessage.SEVERITY_ERROR); } } public void editar(E entidade){ this.entidade = entidade; mudarParaEditar(); } public void deletar (E entidade) { try { getDao().deletar(entidade); entidades.remove(entidade); adicionarMensagem("Deletado com sucesso",FacesMessage.SEVERITY_INFO); } catch (ErroSistema e) { Logger.getLogger(CrudBean.class.getName()).log(Level.SEVERE, null, e); adicionarMensagem("Salvo com sucesso",FacesMessage.SEVERITY_ERROR); } } public void buscar() { if (isBuscar() == false){ mudarParaBuscar(); return; } try { entidades = getDao().buscar(); if (entidades == null || entidades.size() < 1) { adicionarMensagem("Não existem dados cadastrados",FacesMessage.SEVERITY_WARN); } } catch (ErroSistema e) { Logger.getLogger(CrudBean.class.getName()).log(Level.SEVERE, null, e); adicionarMensagem("Salvo com sucesso",FacesMessage.SEVERITY_ERROR); } } public void adicionarMensagem(String mensagem, FacesMessage.Severity tipoErro) { FacesMessage fm = new FacesMessage(tipoErro, mensagem, null); FacesContext.getCurrentInstance().addMessage(null, fm); } // get and set public E getEntidade() { return entidade; } public void setEntidade(E entidade) { this.entidade = entidade; } public List getEntidades() { return entidades; } public void setEntidades(List entidades) { this.entidades = entidades; } //Criar os métodos nas classes bean public abstract D getDao(); public abstract E criarNovaEntidade(); //Controle de tela public boolean isInserir() { return "inseri".equals(estadoTela); } public boolean isEditar() { return "edita".equals(estadoTela); } public boolean isBuscar() { return "busca".equals(estadoTela); } public void mudarParaInserir() { estadoTela = "inserir"; } public void mudarParaEditar() { estadoTela = "editar"; } public void mudarParaBuscar() { estadoTela = "buscar"; } }
@professordaniloalmeida
@professordaniloalmeida 8 жыл бұрын
Coloque o getDAO da classe que você extende do crud.
@pinkz0r683
@pinkz0r683 8 жыл бұрын
Boa tarde, a classe que é extend no CrudBean é o CrudDAO: import java.util.List; import br.com.carboscore.util.exception.ErroSistema; public interface CrudDAO { //E representa minha entidade public void salvar(E entidade) throws ErroSistema; public void deletar (E entidade) throws ErroSistema; public List buscar()throws ErroSistema; } No CrudBean tem o seguinte método: //Criar os métodos nas classes bean public abstract D getDao(); public abstract E criarNovaEntidade(); No CrudBean esses são as chamadas que apresentam erro, amos já com try e catch: getDao().salvar(entidade) , getDao().deletar(entidade); , entidades = getDao().buscar();
@professordaniloalmeida
@professordaniloalmeida 8 жыл бұрын
Me mande o projeto por email que eu olho aqui. professordaniloalmeida@gmail.com
@euclidesjcc
@euclidesjcc 8 жыл бұрын
Danilo neste projeto eu implementei um botão cancelar, para cancelar a transação.
@carlosantoliv
@carlosantoliv 7 жыл бұрын
Aulas muito boas e didáticas. Só não entendi uma coisa: prq cadastro de usuário se não existe tela de login e senha?
@professordaniloalmeida
@professordaniloalmeida 7 жыл бұрын
Carlos Antonio obrigado pelo feedback, a ideia era continuar com as aulas, mas ocorreram várias coisas que me obrigaram a parar, mas pretendo continuar no futuro.
@carlosantoliv
@carlosantoliv 7 жыл бұрын
Opa! blz..rs... é que não tinha entendido mesmo. Mas sei como é a gente querer continuar e o tempo não ser muito parceiro. As tuas aulas são básicas-avançadas, portanto, tem um certo diferencial de outras aulas. E também são muito, mas muuito produtivas. Pessoas iniciantes, como eu, precisam delas. Implementando a parte de login, na minha opinião, acho que estaria completo o propósito. Só faltou a tela de login, visto que vc já criou o cadastro de usuários. Para o básico, vc fez até um pouco mais além. Abandona a gente não!rs Quando puder, tente implementar a tela de login. OBS: Confesso que fiquei muito curioso como você abordaria quando tivesse que cadastrar o "id" do usuário em outra tabela. Por exemplo, Imagine que eu tenha que cadastrar carros, mas tendo que salvar o id do usuário que efetuou o cadastro. E a partir de uma outra tela, eu buscaria os carros por id de usuário. Mas isto seria um extra. Sim, você abordou tão bem e tudo bem separado, que fiquei muito curioso pra saber como isso seria feito sob a tua ótica. Eu já vi muitas video-aulas de autores distintos. Posso te afirmar que vc abordou muito bem o tema com êxito! Muito bom mesmo! Abço, Danilo!
@mariapaulagomes2742
@mariapaulagomes2742 3 жыл бұрын
alguém tem o código desse projeto?
@professordaniloalmeida
@professordaniloalmeida 3 жыл бұрын
Segue a última versão do projeto: drive.google.com/file/d/0B4UAghnYjEQNby1lc2pFTE1Eemc/view?usp=sharing&resourcekey=0--vvDKOTTzBi4gfiI-2htRg
@mariapaulagomes2742
@mariapaulagomes2742 3 жыл бұрын
@@professordaniloalmeida Muito obrigada! Me ajudou bastante 😃
@jorgeleandrosp
@jorgeleandrosp 6 жыл бұрын
Olá, muito obrigado pela aula. Estou tomando um erro ao usar o método Salvar, da classe UsuarioDAO(Estou criando um CRUD de usuários, tomando como base o de Carros que está sendo apresentado nas aulas). Para a classe, recebo o seguinte erro: "UsuarioDAO is not abstract and does not override abstract method salvar(usuario) in CrudDao" Já tentei várias maneiras e não consegui resolver o problema. por favor, me ajude. public class UsuarioDAO implements CrudDao{ @Override public void Salvar(Usuario usuario) throws ErroSistema{ try { Connection conexao = FabricaConexao.getConexao(); PreparedStatement ps; if(usuario.getCodigo() == null){ ps = conexao.prepareStatement("INSERT INTO `biblioteca`.`tb_usuario`(`usu_cim`, `usu_nome`) VALUES (?, ?);"); }else{ ps = conexao.prepareStatement("update tb_usuario set usu_cim=?, usu_nome=? where usu_codigo=?"); ps.setInt(3, usuario.getCodigo()); } ps.setInt(1, usuario.getCim()); ps.setString(2, usuario.getNome()); ps.execute(); FabricaConexao.fecharConexao(); } catch (SQLException ex) { throw new ErroSistema("Erro ao tentar salvar o usuário", ex) ; } }
@professordaniloalmeida
@professordaniloalmeida 6 жыл бұрын
Não sei bem, mas confere a questão de letra maiúscula e minúscula, aparentemente ele diz que não existe método salvar(usuario) no CrudDao, pode ser algum problema de construção do CrudDao. Se não conseguir pode me enviar um email com o código que eu olho. professordaniloalmeida@gmail.com
@Ai3065fS
@Ai3065fS 4 жыл бұрын
Professor Danilo, Muito obrigado por sua didática nas vídeo aulas, fica muito fácil o aprendizado, principalmente com os erros na execução, esclarece e tira o receio pra quem é iniciante e tem muitas duvidas. Alinhado a seu ensino uso também o ensinamento do Gustavo Guanabara, vocês são realmente PROFESSORES por a gente entendi. Só preciso agora é meter a cara mesmo e fazer e testar e crescer com o conhecimento. Obrigado, e continuarei a assistir suas aulas; Abraço. Flaubert Santos jflaubert38@gmail.com
@professordaniloalmeida
@professordaniloalmeida 4 жыл бұрын
Estou gravando novas aulas para atualizar este curso, será totalmente remodelado ao desenvolvimento de um software com JSF. Agurde em breve.
@Ai3065fS
@Ai3065fS 4 жыл бұрын
@@professordaniloalmeida sem dúvidas que ficarei ansioso pra receber o conteúdo professor; sei que será absorvido pela sua didática show. 😉
@wesleyfelipe8526
@wesleyfelipe8526 7 жыл бұрын
Ola professor fiquei meio perdido nessa aula !! sera que pode me ajudar por favor o que seria essa generics ? e essa entidade e entidades . eles substituiram o carro e o carros por que ? e tambem aquela classe carrobean extendendo crud beane carro dao o que seria ela :: flow professor
@professordaniloalmeida
@professordaniloalmeida 7 жыл бұрын
O gernerics é uma forma implícita de definir o tipo da variável, no caso eu falo que entidade é uma variável do tipo E, mas quem define o tipo da variável é a implementação da classe, como ocorre na variável do tipo List do java. CrudBean é uma classe Crud que comunica diretamente com o XHTML e as classes DAO são responsáveis pelo acesso a dados (Data Access Object). É uma forma de organizar o projeto em camadas.
@marquinmpfs
@marquinmpfs 9 жыл бұрын
Olá Danilo Souza, não consegui abrir a página do Gerenciar Usuario... dá o erro abaixo: Property 'busca' not writable on type br.edu.ifnmg.carros.bean.UsuarioBean
@professordaniloalmeida
@professordaniloalmeida 9 жыл бұрын
+Marquin Ferreira Olá, tente ver se você criou o método "isBusca()" ou "isBuscar()" aparentemente o erro pode ser neste método.
@xcreatorminigames6227
@xcreatorminigames6227 6 жыл бұрын
Grande professor! Venho seguindo seu tutorial e tem dado tudo certo! Mas agora deu um erro aqui que não estou conseguindo resolver, ja tentei encontrar mesmo! O que acontece é que no XHTML ele não acha o conteúdo do campo "entidade", e por incrivel que pareça não está encontrando a classe CarroBean no processo de execução. Um dos erros é esse : "Uncompilable source code - cannot find symbol symbol: class SessionScoped at xcreator.bean.CarroBean.(CarroBean.java:8)" mas me parece tudo certo, se puder lhe envio o código zipado pra você me dar uma luz se for possível. Obrigado!
@professordaniloalmeida
@professordaniloalmeida 6 жыл бұрын
Aparentemente o erro é na Classe CarroBean no elemento SessionScoped, verifique se você importou a anotação do javax.faces.bean.SessionScoped. Qualquer coisa mande mensagem.
@xcreatorminigames6227
@xcreatorminigames6227 6 жыл бұрын
Pois é, fiz uma revisão de todos os códigos, e esta tudo ok as importações, até baixei sua versão para comparar mas não encontrei nada que pudesse causar o problema. O mais estranho é que também não é problema da instalação dos pacotes, pq esta funcionando tudo ok até a aula anterior. Uma coisa que me pergunto, como que XHTML sabe que o "elemento" que é genérico, vai ser da classe tal depois ? Não teria que incluir alguma tag pra informar? E muito obrigado!
@professordaniloalmeida
@professordaniloalmeida 6 жыл бұрын
Com relação ao elemento genérico ele não sabe, mas o que ele sabe é que se você utiliza o Bean Genérico e você passa por exemplo carroBean, se carroBean herda o Bean Genérico, além de ser carroBean ele também é o Bean Genérico, como diz o ditado, filho de peixe peixinho é. CarroBean não deixou de ser um Bean Genérico, ele é um Bean Genérico com Mais funções. Com relação ao código se quiser me enviar eu olho para você. professordaniloalmeida@gmail.com.
@erichhubner
@erichhubner 8 жыл бұрын
Muito bom! Onde tem o fonte desta aula pra download?
@professordaniloalmeida
@professordaniloalmeida 8 жыл бұрын
Pela manhã eu posso o link.
@arthur63609
@arthur63609 8 жыл бұрын
Muito bom! passa o link ai..
@professordaniloalmeida
@professordaniloalmeida 8 жыл бұрын
Desculpe a demora, segue o link goo.gl/Ma82Rg
@arthur63609
@arthur63609 8 жыл бұрын
obrigado!
@CorruptionManX
@CorruptionManX 7 жыл бұрын
Aula muito boa, mas em todo lugar usam frameworks. Será que em lugar algum fazem o código do zero? Professor quer um código sem uso de facilitadores e eu não acho em lugar algum.
@professordaniloalmeida
@professordaniloalmeida 7 жыл бұрын
Em geral não usam pois com hibernate é melhor, principalmente em grandes sistemas, mas em caso de aplicações pequenas acontece de usar sim. A afirmação depois da pergunta eu não entendi.
@CorruptionManX
@CorruptionManX 7 жыл бұрын
Danilo Souza Almeida é que o professor quer um CRUD livre de frameworks pois ele afirma que deve se aprender os conceitos básicos e depois sim fazer uso frameworks (que ele se refere como atalhos ou facilitadores). O problema é que nao tenho encontrado esse conteúdo e ele também não tem dado assistência.
@aprendizfivem
@aprendizfivem 9 жыл бұрын
Like + inscrição.
@gfsouza2008
@gfsouza2008 7 жыл бұрын
Acompanhei até a aula 7, hoje me perdi.
@moisesferreiradoprado8980
@moisesferreiradoprado8980 5 жыл бұрын
Aula não e para iniciante já começa com muita coisa pronta.
@professordaniloalmeida
@professordaniloalmeida 5 жыл бұрын
Preparei estas aulas para ajudar alguns alunos que precisavam fazer TCC com muita rapidez.
Programação Web com JSF - Aula 9 - Criando Componentes
28:23
Professor Danilo
Рет қаралды 13 М.
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Programação Web com JSF - Aula 6 - Banco de Dados (Parte 2)
27:50
Professor Danilo
Рет қаралды 11 М.
Programação Web com JSF - Aula 3 - Lista de Objetos
34:51
Professor Danilo
Рет қаралды 24 М.
O que é JSF? - Curso JSF
15:59
AlgaWorks
Рет қаралды 47 М.
Visual Calculations in Power BI - DAX Made Easy! [Full Course]
1:30:40
Pragmatic Works
Рет қаралды 96 М.
Programação Web com JSF - Aula 1 - Hello Primefaces
27:18
Professor Danilo
Рет қаралды 68 М.
Programação Java Web com JSP e Servlets (Conceito e aplicação de Servlets)
23:15
Carlos Emilio Padilla Severo
Рет қаралды 42 М.
#01 - Criando projeto Java Web com SERVLETS - Cadastro de Aluno - [ACADEMIA JAVA WEB]
16:53
Sthefane Soares - Vida Programação
Рет қаралды 47 М.
Desenvolvimento Web com Bootstrap - Aula 2 Integração com JSF
55:31
Professor Danilo
Рет қаралды 6 М.