Jdbc+jsf+ preciso da classe Bean

5 respostas
tiago_

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

5 Respostas

Hebert_Coelho

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.

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 : /

Hebert_Coelho

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 : /
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. [=

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 :slight_smile:

Hebert_Coelho

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 :)
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.

Criado 20 de setembro de 2012
Ultima resposta 20 de set. de 2012
Respostas 5
Participantes 2