Jdbc+jsf+ preciso da classe Bean

Pessoal

Estou fazendo uma aplicacao WEB utilizando JSF, JDBC (ja fiz a classe p conectar com o banco). Ate o template ta pronto… Agora eu preciso da classe Bean. Tentei procurar um modelo na net mas nao achei o q eu queria… Tenho a classe Contato, ContatoDAO e agora falta a Bean.


package com.livro.capitulo3.crudjdbc;

import java.sql.Date;

public class Contato {
	
	private Integer codigo;
	private String  nome;
	private String  telefone;
	private String  email;
	private Date    dataCadastro;
	private String  observacao;
	
	public Integer getCodigo() {
		return codigo;
	}
	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Date getDataCadastro() {
		return dataCadastro;
	}
	public void setDataCadastro(Date dataCadastro) {
		this.dataCadastro = dataCadastro;
	}
	public String getObservacao() {
		return observacao;
	}
	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}
	
	
}



import java.sql.*;
import java.sql.Date;
import java.util.*;

public class ContatoCrudJDBC {

	public void salvar(Contato contato) {
		Connection conexao = this.geraConexao();
		PreparedStatement insereSt = null;

		String sql = "insert into contato(nome, telefone, email, dt_cad, obs) values(?, ?, ?, ?, ?)";

		try {
			insereSt = conexao.prepareStatement(sql);
			insereSt.setString(1, contato.getNome());
			insereSt.setString(2, contato.getTelefone());
			insereSt.setString(3, contato.getEmail());
			insereSt.setDate(4, contato.getDataCadastro());
			insereSt.setString(5, contato.getObservacao());
			insereSt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("Erro ao incluir contato. Mensagem: " + e.getMessage());
		} finally {
			try {
				insereSt.close();
				conexao.close();
			} catch (Throwable e) {
				System.out.println("Erro ao fechar operações de inserção. Mensagem: " + e.getMessage());
			}
		}
	}

	public void atualizar(Contato contato) {
		Connection conexao = this.geraConexao();
		PreparedStatement atualizaSt = null;

		//Aqui não atualizamos o campo data de cadastro
		String sql = "update contato set nome=?, telefone=?, email=?, obs=? where codigo=?";

		try {
			atualizaSt = conexao.prepareStatement(sql);
			atualizaSt.setString(1, contato.getNome());
			atualizaSt.setString(2, contato.getTelefone());
			atualizaSt.setString(3, contato.getEmail());
			atualizaSt.setString(4, contato.getObservacao());
			atualizaSt.setInt(5, contato.getCodigo().intValue());
			atualizaSt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("Erro ao atualizar contato. Mensagem: " + e.getMessage());
		} finally {
			try {
				atualizaSt.close();
				conexao.close();
			} catch (Throwable e) {
				System.out.println("Erro ao fechar operações de atualização. Mensagem: " + e.getMessage());
			}
		}
	}

	public void excluir(Contato contato) {
		Connection conexao = this.geraConexao();
		PreparedStatement excluiSt = null;

		String sql = "delete from contato where codigo = ?";

		try {
			excluiSt = conexao.prepareStatement(sql);
			excluiSt.setInt(1, contato.getCodigo().intValue());
			excluiSt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("Erro ao excluir contato. Mensagem: " + e.getMessage());
		} finally {
			try {
				excluiSt.close();
				conexao.close();
			} catch (Throwable e) {
				System.out.println("Erro ao fechar operações de exclusão. Mensagem: " + e.getMessage());
			}
		}
	}

	public List<Contato> listar() {
		Connection conexao = this.geraConexao();
		List<Contato> contatos = new ArrayList<Contato>();
		Statement consulta = null;
		ResultSet resultado = null;
		Contato contato = null;

		String sql = "select * from contato";

		try {
			consulta = conexao.createStatement();
			resultado = consulta.executeQuery(sql);

			while (resultado.next()) {
				contato = new Contato();
				contato.setCodigo(new Integer(resultado.getInt("codigo")));
				contato.setNome(resultado.getString("nome"));
				contato.setTelefone(resultado.getString("telefone"));
				contato.setEmail(resultado.getString("email"));
				contato.setDataCadastro(resultado.getDate("dt_cad"));
				contato.setObservacao(resultado.getString("obs"));
				contatos.add(contato);
			}
		} catch (SQLException e) {
			System.out.println("Erro ao buscar código do contato. Mensagem: " + e.getMessage());
		} finally {
			try {
				consulta.close();
				resultado.close();
				conexao.close();
			} catch (Throwable e) {
				System.out.println("Erro ao fechar operações de consulta. Mensagem: " + e.getMessage());
			}
		}
		return contatos;
	}

	public Contato buscaContato(int valor) {
		Connection conexao = this.geraConexao();
		PreparedStatement consulta = null;
		ResultSet resultado = null;
		Contato contato = null;

		String sql = "select * from contato where codigo = ?";

		try {
			consulta = conexao.prepareStatement(sql);
			consulta.setInt(1, valor);
			resultado = consulta.executeQuery();

			if (resultado.next()) {
				contato = new Contato();
				contato.setCodigo(new Integer(resultado.getInt("codigo")));
				contato.setNome(resultado.getString("nome"));
				contato.setTelefone(resultado.getString("telefone"));
				contato.setEmail(resultado.getString("email"));
				contato.setDataCadastro(resultado.getDate("dt_cad"));
				contato.setObservacao(resultado.getString("obs"));
			}
		} catch (SQLException e) {
			System.out.println("Erro ao buscar código do contato. Mensagem: " + e.getMessage());
		} finally {
			try {
				consulta.close();
				resultado.close();
				conexao.close();
			} catch (Throwable e) {
				System.out.println("Erro ao fechar operações de consulta. Mensagem: " + e.getMessage());
			}
		}
		return contato;
	}

	
	
}

Sendo q eu vou adptar isso para minha classe usuario… No momento so estou precisando da classe Bean.
Obrigado

E por que você não cria a sua?

Creio que falta não só o MB como as páginas né?

Acho difícil você encontrar algo pronto.

Ja tenho boa parte das paginas… O template tb.
Eu nao sei como criar o MB… Nao tem nenhum modelo q eu possa utilizar como base ?
Ate agora nao achei nada satisfatorio na net : /

[quote=tiago__]Ja tenho boa parte das paginas… O template tb.
Eu nao sei como criar o MB… Nao tem nenhum modelo q eu possa utilizar como base ?
Ate agora nao achei nada satisfatorio na net : /[/quote]Aqui mostra como criar um MB: JSF - Hello World, AutoComplete.

Se você não sabe utilizar o JSF eu te aconselharia a utilizar outra tecnologia. [=

Eu nao sou expert em jsf mas estou aprendendo utilizar… Estive fazendo testes e foi tranquilo… So quero um MB como base (tava utilizando o MB do livro junto com Hibernate, mas vou utilizar JDBC). Vou dar uma olhada nesse tutorial :slight_smile:

[quote=tiago__]Eu nao sou expert em jsf mas estou aprendendo utilizar… Estive fazendo testes e foi tranquilo… So quero um MB como base (tava utilizando o MB do livro junto com Hibernate, mas vou utilizar JDBC). Vou dar uma olhada nesse tutorial :)[/quote]Blz.

Se quiser mais exemplos tem aqui:
Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate
Aplicação Web Completa JSF EJB JPA JAAS

Boa sorte.