Cadastro com select no JavaBean

0 respostas
J

Tenho um aplicação onde cadastro produto, cliente, marca, categoria, pedido etc. Gostaria de saber como fazer para cadastrar um produto, já que o mesmo possui informações das classes marca e categoria. Tenhos classes DAO categoriaDao, marcaDao, produtoDao, clienteDao etc. classes JavaBean cadastroClienteJB, cadastroProdutoJB, cadastroMarcaJB, cadastroCategoriaJB.
Como fazer para inserir um select no jsp, resgatando do banco informações referente a marca e categoria para que possa cadastrar o produto ?

Vou colocar o cadastro do Cliente .jsp para alguém analisar e ver como estou fazendo e assim poder me ajudar no cadastro do produto.

<jsp:useBean id="cadastroClienteJB" class="br.com.PrjDistribuidora.JB.cadastroClienteJB" scope="request"/>
<jsp:setProperty name="cadastroClienteJB" property="*"/> 
<jsp:setProperty name="cadastroClienteJB" property="page" value="${pageContext}"/>
<jsp:getProperty name="cadastroClienteJB" property="execute"/>
<!--chamada da taglib-->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 
<html>   
<script src="eventos.js"></script>  
<head>     
   <title>Cadastro Clientes</title>
</head>    

<form action="cadastroCliente.jsp" method="get">      
<input type="hidden" name="op"/>      
 Nome: <input type="text" name="nomeCliente" value="${cadastroClienteJB.nomeCliente}"/>
 Email: <input type="text" name="emailCliente" value="${cadastroClienteJB.emailCliente}"/>
 Tel: <input type="text" name="telCliente" value="${cadastroClienteJB.telCliente}"/>
 Cpf: <input type="text" name="cpfCliente" value="${cadastroClienteJB.cpfCliente}"/>
 
   <input type="hidden" name="cod_Cliente" value="${cadastroClienteJB.cod_Cliente}"/>
  
 <c:choose> 	 
 		<c:when test="${cadastroClienteJB.altera eq 's'}">
 			<input type="button" name="alt" value="Alterar" onclick="setOp('alterar')"/>
 		</c:when>
 		<c:otherwise>
 			<input type="button" name="cad" value="Cadastrar" onclick="setOp('cadastro')"/>
 		</c:otherwise>
</c:choose> 
  
 
 

<br>
Clientes: 
<br>
<!--taglib para listar todos os clientes-->
<c:forEach var = "item" items="${cadastroClienteJB.listaCliente}">	
	
	        <!--   checkBox para deletar o cliente  	 	   -->
		<input type="checkbox" value="${item.cod_Cliente}" name ="chkCliente">
		        <!--   Link para alterar o cliente. Nesse temos o parâmetro altera que será setado como sim quando clicado 	 	   --> 		 	
		 <A href="cadastroCliente.jsp?cod_Cliente=${item.cod_Cliente}&altera=s">  ${item.nome_Cliente}  </A> <br> 	
	
	
	 
	 
</c:forEach> 
              
              
     <input type="button" name="del" value="Delete" onclick="setOp('delete')"/>
</form>       
	  <A href="menuAdm.jsp">Menu</A> 
<body>

</body>
</html>

Agora o cadastroClienteJB da classe javabean

package br.com.PrjDistribuidora.JB;

import java.util.ArrayList;
import java.util.List;
import com.mysql.jdbc.Connection;

import br.com.PrjDistribuidora.Dao.CategoriaDao;
import br.com.PrjDistribuidora.Dao.MarcaDao;
import br.com.PrjDistribuidora.Dao.ProdutoDao;
import br.com.PrjDistribuidora.JDBC.ConnectionFactory;
import br.com.PrjDistribuidora.Modelo.Produto;
import br.com.PrjDistribuidora.Modelo.Marca;
import br.com.PrjDistribuidora.Modelo.Categoria;

public class cadastroProdutoJB extends BeanBase {
	private int cod_Produto;
	private int tbMarca_codMarca;
	private int tbCategoria_codCategoria;
	private String descProduto;
	private double valorProduto;
	private int qtdProduto;
	private Produto produto;
	private Marca marca;
	private Categoria categoria;
	private String altera;
	/**
	 * Lista de alunos
	 */
	private List<Produto> listaProduto = new ArrayList<Produto>();

	/**
	 * Método que é executado quando submetermos a página
	 */
	public void pageLoad() throws Exception {
		super.pageLoad();

		try {
			ProdutoDao dao = new ProdutoDao();
			// Retorna a lista de alunos
			listaProduto = dao.getAllProduto();
			if (cod_Produto != 0) {
				produto = dao.getProduto(cod_Produto);
				tbMarca_codMarca = produto.getMarca_codMarca();
				tbCategoria_codCategoria = produto.getCategoria_codCategoria();
				descProduto = produto.getDesc_Produto();
				valorProduto = produto.getValor_Produto();
				qtdProduto = produto.getQtd_Produto();
				cod_Produto = produto.getCod_Produto();
			}

		} catch (Exception e) {
			// TODO: handle exception
		} finally {
			ConnectionFactory.getConnection().close();
		}
	} 

	public void alterar() throws Exception {
		try {
			Produto produto = new Produto();
			produto.setCod_Produto(cod_Produto); 
			produto.setMarca_codMarca(tbMarca_codMarca);
			produto.setCategoria_codCategoria(tbCategoria_codCategoria);
			produto.setDesc_Produto(descProduto);
			produto.setValor_Produto(valorProduto);
			produto.setQtd_Produto(qtdProduto);
					
			ProdutoDao dao = new ProdutoDao();
			dao.alteraProduto(produto);
			limpaCampo();
		} catch (Exception e) {
			// TODO: handle exception
		} finally {
			ConnectionFactory.getConnection().close();
		}
	}

	public void delete() throws NumberFormatException, Exception {
		try {
			String[] produtos = request.getParameterValues("chkProduto");
			ProdutoDao dao = new ProdutoDao();
			for (int i = 0; i < produtos.length; i++) {
				dao.deleteProduto(Integer.parseInt(produtos[i]));
			}
		} catch (Exception e) {
			// TODO: handle exception
		} finally {
			ConnectionFactory.getConnection().close();
		}

	}
	
	private void limpaCampo(){
		tbMarca_codMarca = 0;
		tbCategoria_codCategoria = 0;
		descProduto = "";
		valorProduto = 0;
		qtdProduto = 0;
		
	}

	public void cadastro() throws Exception {

		try {

			// seta uma aluno
			Produto produto = new Produto();
			produto.setMarca_codMarca(tbMarca_codMarca);
			produto.setCategoria_codCategoria(tbCategoria_codCategoria);
			produto.setDesc_Produto(descProduto);
			produto.setValor_Produto(valorProduto);
			produto.setQtd_Produto(qtdProduto);
			
			// cadastra um aluno no banco
			ProdutoDao dao = new ProdutoDao();
			dao.cadastrarProduto(produto);
			limpaCampo();
		} catch (Exception e) {
			// TODO: handle exception
		} finally {
			ConnectionFactory.getConnection().close();
		}

	}

	public String getAltera() {
		return altera;
	}

	public void setAltera(String altera) {
		this.altera = altera;
	}



	public int getCod_Produto() {
		return cod_Produto;
	}

	public void setCod_Produto(int cod_Produto) {
		this.cod_Produto = cod_Produto;
	}

	public int getTbMarca_codMarca() {
		return tbMarca_codMarca;
	}

	public void setTbMarca_codMarca(int tbMarca_codMarca) {
		this.tbMarca_codMarca = tbMarca_codMarca;
	}

	public int getTbCategoria_codCategoria() {
		return tbCategoria_codCategoria;
	}

	public void setTbCategoria_codCategoria(int tbCategoria_codCategoria) {
		this.tbCategoria_codCategoria = tbCategoria_codCategoria;
	}

	public String getDescProduto() {
		return descProduto;
	}

	public void setDescProduto(String descProduto) {
		this.descProduto = descProduto;
	}

	public double getValorProduto() {
		return valorProduto;
	}

	public void setValorProduto(double valorProduto) {
		this.valorProduto = valorProduto;
	}

	public int getQtdProduto() {
		return qtdProduto;
	}

	public void setQtdProduto(int qtdProduto) {
		this.qtdProduto = qtdProduto;
	}

	public Produto getProduto() {
		return produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	public List<Produto> getListaProduto() {
		return listaProduto;
	}

	public void setListaProduto(List<Produto> listaProduto) {
		this.listaProduto = listaProduto;
	}

	public Marca getMarca() {
		return marca;
	}

	public void setMarca(Marca marca) {
		this.marca = marca;
	}

	public Categoria getCategoria() {
		return categoria;
	}

	public void setCategoria(Categoria categoria) {
		this.categoria = categoria;
	}
	
}

Agora classe DAO ClienteDao

package br.com.PrjDistribuidora.Dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.com.PrjDistribuidora.JDBC.ConnectionFactory;
import br.com.PrjDistribuidora.Modelo.Cliente;;

public class ClienteDao {

	public Connection con;

	public ClienteDao() {

		try {
			con = ConnectionFactory.getConnection();
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

	public void cadastrarCliente(Cliente cliente) throws SQLException {

		String sql = "INSERT INTO tbCliente(nomeCliente, emailCliente, telCliente, cpfCliente) VALUES (?,?,?,?)";

		PreparedStatement pStmt = null;
		try {
			pStmt = con.prepareStatement(sql);

			pStmt.setString(1, cliente.getNome_Cliente());
			pStmt.setString(2, cliente.getEmail_Cliente());
			pStmt.setString(3, cliente.getTel_Cliente());
			pStmt.setString(4, cliente.getCpf_Cliente());
			pStmt.executeUpdate();

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			pStmt.close();

		}

	}

	/**
	 * Retorna um aluno cujo código foi passado por parâmetro *
	 * 
	 * @param cod -
	 *            codigo do aluno passado por Parâmetro
	 * @return
	 * @throws SQLException
	 */
	public Cliente getCliente(int cod) throws SQLException {
		PreparedStatement stmt = this.con
				.prepareStatement("select * from tbCliente where codCliente= "
						+ cod);
		ResultSet rs = stmt.executeQuery();
		// criando o objeto aluno
		Cliente cliente = new Cliente();
		if (rs.next()) {
			cliente.setNome_Cliente(rs.getString("nomeCliente"));
			cliente.setEmail_Cliente(rs.getString("emailCliente"));
			cliente.setTel_Cliente(rs.getString("telCliente"));
			cliente.setCpf_Cliente(rs.getString("cpfCliente"));
			cliente.setCod_Cliente(rs.getInt("codCliente"));
		} 
		rs.close();
		stmt.close();
		return cliente;
	}

	public List<Cliente> getAllCliente() throws SQLException {

		String sql = "select * from tbCliente";
 
		PreparedStatement pStmt = null;
		List<Cliente> clientes = new ArrayList<Cliente>();
		ResultSet rs = null;
		try {
			pStmt = con.prepareStatement(sql);
			rs = pStmt.executeQuery();
			while (rs.next()) {
				Cliente cliente = new Cliente();
				cliente.setNome_Cliente(rs.getString("nomeCliente"));
				cliente.setEmail_Cliente(rs.getString("emailCliente"));
				cliente.setTel_Cliente(rs.getString("telCliente"));
				cliente.setCpf_Cliente(rs.getString("cpfCliente"));
				cliente.setCod_Cliente(rs.getInt("codCliente"));
				clientes.add(cliente);
			} 
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			rs.close();
			pStmt.close();
		}

		return clientes;

	}

	public void alteraCliente(Cliente cliente) throws Exception {
		// prepared statement para inserção
		PreparedStatement stmt = this.con
				.prepareStatement("update tbCliente set nomeCliente=?,emailCliente=?,telCliente=?,cpfCliente=? where codCliente=?"); // 
		
		
		stmt.setString(1, cliente.getNome_Cliente());
		stmt.setString(2, cliente.getEmail_Cliente());
		stmt.setString(3, cliente.getTel_Cliente());
		stmt.setString(4, cliente.getCpf_Cliente());
		stmt.setInt(5, cliente.getCod_Cliente());
		// executa
		stmt.executeUpdate();
		stmt.close();
	}

	public void deleteCliente(int cod) throws Exception {
		// prepared statement para exclusão
		PreparedStatement stmt = this.con
				.prepareStatement("delete from tbCliente where codCliente=" + cod);
		// executa
		stmt.execute();
		stmt.close();
	}

}

Seguindo essa estrutura, como faço para cadastrar o produto sendo que utilizarei dois select’s que pegarão informações do banco, um select para marca e outro para categoria.

Criado 11 de maio de 2011
Respostas 0
Participantes 1