JSF – Tutorial RichFaces + Hibernate + MySQL – CRUD completo compl eto (parte 1) Posted by serjaumfantin em julho 31, 2009 Esta é a primeira parte da nossa aplicação JSF completa utilizando RichFaces + Hibernate + MySQL na prática. Pretendo criar uma aplicação simples e ao mesmo tempo prática ilustrando situações do dia-a-dia. Utilizarei o Eclipse e o servlet contêiner Tomcat.. Tomcat A aplicação é baseada em um cadastro de pessoas onde o usuário terá acesso a operações de Create/Retrieve/Update/Delete. Utilizarei máscaras, conversores, validadores e componentes com suporte a AJAX(RichFaces), CSS entre outros.
Versões utilizadas • • • • • • • • • • •
Eclipse 3.4.1 JDK 1.6 Tomcat 6.0.18 MyFaces 1.2.5 RichFaces 3.3.1 Hibernate Annotations 3.4.0 Hibernate 3.3.1 MySQL 5 JUnit 4.5 Caelum Stella 1.2 MySQL Query Browser 1.2
Estrutura inicial do projeto
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Importando o projeto Baixe o projeto >>aqui >>aqui<<; <<; workspace; 2. Descompacte o projeto no seu workspace; 3. No Eclipse Eclipse vá vá em: File File –> Import Import –> –> General General – Existin Existing g Projects Projects into into Workspace –> Next –> Selecione o projeto descompactado no workspace –> Finish. 1.
Resultado
Continuarei o próximo post desenvolvendo a camada de persistência da aplicação. Até o próximo post!
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
JSF – Tutorial RichFaces + Hibernate + MySQL – CRUD completo compl eto (parte 2) Posted by serjaumfantin em agosto 1, 2009 Este é o segundo post referente à nossa aplicação JSF completa utilizando RichFaces + Hibernate + MySQL na prática. Dando continuidade ao desenvolvimento da nossa aplicação, codificarei a camada DAO (Data Access Object) que é responsável por isolar a camada superior do acesso aos dados. Na maioria dos casos teremos uma classe DAO para cada classe do domínio do sistema. Na classe DAO estão os métodos fundamentais para persistência e na classe PessoaDAO temos os métodos específicos de manipulação de dados referente à classe Pessoa mais os métodos da classe DAO que são obtidos por herança.
Estrutura do projeto
Códigos DAO.java:
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
public class DAO { private static Logger logger = Logger.getLogger(DAO.cl Logger.getLogger(DAO.class); ass); private Class persistentClass; protected Session session; public DAO(Session session, Class persistentClass) { this.session this.session = session; this.persistentClass this.persistentClass = persistentClass; persistentClass; } @SuppressWarnings("unchecked") public T load(Long id) { logger.info("lendo " + persistentClass + " com id " + id); return (T) session.load(persistentClass, id); } public void save(T t) { logger.info("salvando logger.info("salvando session.save(t);
" + t);
} public void delete(T t) { logger.info("Deletando logger.info("Deletando " + t); session.delete(t); } @SuppressWarnings("unchecked") public List list() { logger.info("Listando logger.info("Listando todos"); return session.createCriteria(persistentClass).list(); } public void merge(T t) { logger.info("Salvando ou atualizando " + t); session.merge(t); } }
PessoaDAO.java package br.com.serjaum.dao; br.com.serjaum.dao; import java.util.List; import import import import import import
org.apache.log4j.Logger; org.hibernate.Criteria; org.hibernate.Session; org.hibernate.criterion.Order; org.hibernate.criterion.Projections; org.hibernate.criterion.Restrictions;
import br.com.serjaum.modelo.Pessoa;
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
super(session, classe); } public Pessoa pesquisaPessoaById(Long idPessoa) { logger.info("pesquisaPessoaById : " + idPessoa); return (Pessoa) session.load(Pessoa.class, idPessoa); } public String pesquisaPessoaByNome(String nome) { logger.info("pesquisaPessoaByNome : " + nome); Criteria c = session.createCriteria(Pessoa.class); c.add(Restrictions.ilike("nome", nome + "%")); c.addOrder(Order.asc("nome")); return (String)c.uniqueResult(); } public Pessoa pesquisaPessoaByEmail(S pesquisaPessoaByEmail(String tring email) { logger.info("pesquisaP logger.info("pesquisaPessoaByEmai essoaByEmail l : " + email); Criteria c = session.createCriteria(Pessoa.class); c.add(Restrictions.ilike("email", email + "%")); return (Pessoa)c.uniqueResult(); } public List
List findByNameSuggest(Strin findByNameSuggest(String g busca){ logger.info("findByNam logger.info("findByNameSuggest eSuggest : " + busca); Criteria c = session.createCriteria(Pessoa.class); c.add(Restrictions.ili c.add(Restrictions.ilike("nome", ke("nome", busca + "%")); c.addOrder(Order.asc("nome")); c.setProjection(Projections.property("nome")); return c.list(); } }
package br.com.serjaum.dao;import java.util.List;import org.apache.log4j.Logger; org.apache.log4j.Logger; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import br.com.serjaum.entidades.Pessoa; public class PessoaDAO { private Session session; private Logger logger = Logger.getLogger(PessoaDAO.class);
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
this.session = session; } public void insertPessoa(Pessoa pessoa) { session.saveOrUpdate(pessoa); } public void updatePessoa(Pessoa pessoa) { session.merge(pessoa); } public void deletePessoa(Pessoa pessoa) { session.delete(pessoa); } public Pessoa retrievePessoa(Pessoa pessoa) { return (Pessoa) session.load(Pessoa.class, pessoa.getId()); } public Pessoa retrievePessoaById(Long idPessoa) { return (Pessoa) session.load(Pessoa.class, idPessoa); } @SuppressWarnings(“unchecked”) public List loadAll(){ Criteria c = session.createCriteria(Pessoa.class); c.addOrder(Order.asc(“nome”)); return c.list(); }
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
c.add(Restrictions.ilike(“nome”, nome + “%”)); c.addOrder(Order.asc(“nome”)); return (String)c.uniqueResult(); } public Pessoa retrievePessoaByEmail(String email) { Criteria c = session.createCriteria(Pessoa.class); c.add(Restrictions.ilike(“email”, email + “%”)); return (Pessoa)c.uniqueResult(); } } HibernateUtil.java package br.com.serjaum.dao; br.com.serjaum.dao; import import import import
org.apache.log4j.Logger; org.hibernate.Session; org.hibernate.SessionFactory; org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil { private static final Logger logger = Logger.getLogger(HibernateUtil.class); private static final SessionFactory sessionFactory; private static ThreadLocal sessions = new ThreadLocal(); static {
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
sessions.get().close(); sessions.set(null); } public static Session currentSession() { return sessions.get(); } }
hibernate.cfg.xml: com.mysql.jdbc.Driver jdbc:mysql://localhost/jsf root root org.hibernate.dialect.MySQLInnoDBDialect false< sql">false /property> falsefalse roperty> none 1 100 10< x_size">10 /property> 0 5 100< meout">100 /property>
xxx
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
import br.com.serjaum.dao.DAO; import br.com.serjaum.modelo.Pessoa; public class PessoaTest{ private static Pessoa PESSOA_TESTE = new Pessoa(); SessionFactory SessionFactory sf; Session session; Transaction tx; DAO dao; @Before public void runBeforeEveryTest(){ runBeforeEveryTest(){ sf = new AnnotationConfiguration().configure().buildSessionFactory(); session = sf.openSession(); sf.openSession(); tx = session.beginTransaction(); dao = new DAO(session, Pessoa.class); Pessoa.class); } @After public void runAfterEveryTest(){ tx.commit(); session.close(); } @Test public void testCadastra(){ testCadastra(){ PESSOA_TESTE.setNome("Sérgio Fantin"); PESSOA_TESTE.setCpf("123.456.789-10"); PESSOA_TESTE.setEmail("[email protected]"); PESSOA_TESTE.setTelefoneCelular("(44) 8888-8888"); dao.save(PESSOA_TESTE); } @Test public void testProcura() { Pessoa buscada; buscada = dao.load(PESSOA_TESTE.g dao.load(PESSOA_TESTE.getId()); etId()); assertEquals(PESSOA_TESTE.getId(), buscada.getId()); assertEquals(PESSOA_TESTE.getNome(), buscada.getNome());
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
buscadoParaAtualizacao.setEmail("[email protected]"); buscadoParaAtualizacao.setCpf("000.000.000-00"); buscadoParaAtualizacao.setTelefoneCelular("(00) 00000000"); buscadoParaAtualizacao.setDataNascimento(new Date()); dao.merge(buscadoParaAtualizacao); buscadoAposAtualizacao buscadoAposAtualizacao = dao.load(PESSOA_TESTE.g dao.load(PESSOA_TESTE.getId()); etId()); assertEquals(buscadoParaAtualizacao.getId(), buscadoAposAtualizacao.getId()); assertEquals(buscadoParaAtualizacao.getNome(), buscadoAposAtualizacao.getNome()); assertEquals(buscadoParaAtualizacao.getEmail(), buscadoAposAtualizacao. buscadoAposAtualizacao.getEmail()); getEmail()); assertEquals(buscadoParaAtualizacao.getCpf(), buscadoAposAtualizacao. buscadoAposAtualizacao.getCpf()); getCpf()); assertEquals(buscadoParaAtualizacao.getTelefoneCelular(), buscadoAposAtualizacao.getTelefoneCelular()); assertEquals(buscadoParaAtualizacao.getDataNascimento(), buscadoAposAtualizacao.getDataNascimento()); } @Test public void testRemove(){ testRemove(){ Pessoa pessoa = PESSOA_TESTE; pessoa.setId(1l); dao.delete(pessoa); } }
Importando o projeto Baixe o projeto atualizado >>aqui >> aqui<<; <<; workspace; 2. Descompacte o projeto no seu workspace; 3. No Eclipse Eclipse vá vá em: File File –> Import Import –> –> General General – Existin Existing g Projects Projects into into Workspace –> Next –> Selecione o projeto descompactado no workspace –> Finish. 1.
Executando o projeto
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Resultado
Continuarei o próximo post desenvolvendo a camada de visão da aplicação. Até o próximo post!
JSF – Tutorial RichFaces + Hibernate + MySQL – CRUD completo compl eto (parte 3) Posted by serjaumfantin em agosto 18, 2009 Este é o terceiro post referente à nossa aplicação JSF completa utilizando RichFaces + Hibernate + MySQL na prática. Dando continuidade ao desenvolvimento da nossa aplicação, codificarei a camada de Façade que é responsável por abstrair a camada de negócios, que contribuirá para a redução do acoplamento entre as camadas da aplicação. Essa camada tem a função de receber solicitações de operações e repassá-las para os métodos de negócio/persistência que estão em outras camadas, mantendo a arquitetura coerente e aumentando a manutenabilidade da aplicação. Obs: por se tratar de um tutorial prático, preferi simplificar a aplicação adicionando a camada de Façade de uma maneira simples, por isso fiz o gerenciamento de sessões/transações dentro da classe PessoaFacadeImpl.java. O ideal seria retirar esse código de abertura/fechamento de sessões/transações e colocá-lo em um filtro, por exemplo: Open Session In View. View. Isso é aplicado quando utilizamos um Servlet Contêiner como o Tomcat Jetty,, mas se o deploy for feito em um Servidor de Jetty
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Códigos BaseFacade.java: package br.com.serjaum.facade; br.com.serjaum.facade; import java.io.Serializable; import java.util.List;
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
public void atualiza(Pessoa p); public List pesquisaPessoasByNome(String nome); }
PessoaFacadeImpl.java: package br.com.serjaum.facade; br.com.serjaum.facade; import import import import import import import
java.util.List; org.hibernate.Session; org.hibernate.SessionFactory; org.hibernate.Transaction; org.hibernate.cfg.AnnotationConfiguration; br.com.serjaum.dao.PessoaDAO; br.com.serjaum.modelo.Pessoa;
public class PessoaFacadeImpl implements PessoaFacade { private private private private private
static final long serialVersionUID = 1818242808424001885L; PessoaDAO pessoaDAO; SessionFactory sf; Session session; Transaction tx;
public void salva(Pessoa p) { sf = new AnnotationConfiguration().configure().buildSessionFactory(); session = sf.openSession(); tx = session.beginTransaction(); pessoaDAO = new PessoaDAO(session, Pessoa.class);
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
tx.commit(); session.close(); return p; } public void remove(Pessoa p) { sf = new AnnotationConfiguration().configure().buildSessionFactory(); session = sf.openSession(); sf.openSession(); tx = session.beginTransactio session.beginTransaction(); n(); pessoaDAO = new PessoaDAO(session, Pessoa.class); this.pessoaDAO.delete(p); tx.commit(); session.close(); } public List lista() { sf = new AnnotationConfiguration().configure().buildSessionFactory(); session = sf.openSession(); sf.openSession(); tx = session.beginTransaction(); pessoaDAO = new PessoaDAO(session, Pessoa.class); List List lista = this.pessoaDAO.list(); this.pessoaDAO.list(); tx.commit(); session.close(); return lista; }
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
return p; } public Pessoa procuraByNome(String nome){ sf = new AnnotationConfiguration().configure().buildSessionFactory(); session = sf.openSession(); tx = session.beginTransactio session.beginTransaction(); n(); pessoaDAO = new PessoaDAO(session, Pessoa.class); Pessoa p = this.pessoaDAO.pesquisaPessoaByNome(nome); tx.commit(); session.close(); return p; } public Pessoa procuraByEmail(String procuraByEmail(String email){ sf = new AnnotationConfiguration().configure().buildSessionFactory(); session = sf.openSession(); tx = session.beginTransactio session.beginTransaction(); n(); pessoaDAO = new PessoaDAO(session, Pessoa.class); Pessoa p = this.pessoaDAO.pesquisaPessoaByEmail(email); tx.commit(); session.close(); return p; } }
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
JSF – Tutorial RichFaces + Hibernate + MySQL – CRUD completo compl eto (parte 4) Posted by serjaumfantin em agosto 19, 2009 Este é o quarto post referente à nossa aplicação JSF completa utilizando RichFaces + Hibernate + MySQL na prática. Dando continuidade ao desenvolvimento da nossa aplicação, codificarei o Managed Bean, que é a classe que receberá as solicitações da camada de visão (JSP), e as encaminhará para a camada de Façade. Nesta etapa o sistema já entrará em funcionamento com suas operações CRUD básicas.
Estrutura do projeto
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
import br.com.serjaum.facade.PessoaFacade; import br.com.serjaum.facade.PessoaFacadeImpl; import br.com.serjaum.modelo.Pessoa; public class PessoaMB implements Serializable { private static final long serialVersionUID = -333995781063775201L; private Pessoa pessoa = new Pessoa(); private Long id; public PessoaMB(){ System.out.println(" System.out.println(" >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Contrutor do PESSOA_MB <<<<<<<<<<<<<<<<<<"); <<<<<<<<<<<<<<<<<<"); if(this.pessoa == null){ this.pessoa = new Pessoa(); } } public String save(){ PessoaFacade PessoaFacade pessoaService pessoaService = new PessoaFacadeImpl(); pessoaService.salva(this.pessoa);
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
PessoaFacade PessoaFacade pessoaService pessoaService = new PessoaFacadeImpl(); List List lista = pessoaService.pesquisaPessoasByNome(this.pessoa.getNome()); return lista; } public Pessoa getPessoa() { return pessoa; } public void setPessoa(Pessoa pessoa) { this.pessoa this.pessoa = pessoa; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } }
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.