Exemplo DAO (versão intermediária 2) - 10/09

Ir em baixo

Exemplo DAO (versão intermediária 2) - 10/09

Mensagem por Admin em Ter Set 10, 2013 4:14 pm

Produto.java
Código:

package br.gov.geracaotecsc.exemplodao.dados;

public class Produto {
   private int codigo;
   private String nome;
   private double preco;

   public Produto() {
      
   }
   
   public Produto(int codigo, String nome, double preco) {
      this.codigo = codigo;
      this.nome = nome;
      this.preco = preco;
   }

   public int getCodigo() {
      return codigo;
   }

   public void setCodigo(int codigo) {
      this.codigo = codigo;
   }

   public String getNome() {
      return nome;
   }

   public void setNome(String nome) {
      this.nome = nome;
   }

   public double getPreco() {
      return preco;
   }

   public void setPreco(double preco) {
      this.preco = preco;
   }
}
ProdutoDAO.java
Código:

package br.gov.geracaotecsc.exemplodao.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.gov.geracaotecsc.exemplodao.dados.Produto;

public class ProdutoDAO extends GenericDAO{
   public void cadastreProduto(Produto produto) {
      Connection connection = null;
      PreparedStatement pstmt = null;
      try {
         connection = getConnection();         
         String sql = "INSERT INTO produto (codigo, nome, preco) values (?, ?, ?)";
         pstmt = connection.prepareStatement(sql);
         
         pstmt.setInt(1, produto.getCodigo());
         pstmt.setString(2, produto.getNome());
         pstmt.setDouble(3, produto.getPreco());
         
         pstmt.executeUpdate();
      } catch (SQLException e) {         
         e.printStackTrace();
      } finally {
         close(pstmt);
         close(connection);
      }      
   }
   
   public List<Produto> listeTodosProdutos() {
      Connection connection = null;
      PreparedStatement pstmt = null;
      ResultSet rs = null;
      try {
         connection = getConnection();         
         String sql = "SELECT codigo, nome, preco FROM produto ORDER BY codigo";
         pstmt = connection.prepareStatement(sql);
                  
         rs = pstmt.executeQuery();
         
         List<Produto> lista = new ArrayList<Produto>();
         while (rs.next()) {
            int codigo = rs.getInt("codigo");
            String nome = rs.getString("nome");
            double preco = rs.getDouble("preco");
            
            lista.add(new Produto(codigo, nome, preco));
         }
         
         return lista;
      } catch (SQLException e) {         
         e.printStackTrace();
         return null;
      } finally {
         close(rs);
         close(pstmt);
         close(connection);
      }            
   }

}
ControleProdutoApp.java
Código:

package br.gov.geracaotecsc.exemplodao;

import java.util.List;

import br.gov.geracaotecsc.exemplodao.dados.Produto;
import br.gov.geracaotecsc.exemplodao.dao.ProdutoDAO;
import br.gov.geracaotecsc.ui.console.GenericConsoleUI;

public class ControleProdutoApp {

   private GenericConsoleUI ui;

   public static void main(String[] args) {
      new ControleProdutoApp().run();
   }

   public ControleProdutoApp() {
      ui = new GenericConsoleUI();      
   }
   
   public void run() {
      int opcao = ui.facaPerguntaInt("O que vc quer fazer? (1-Cadastrar produto, 2-Listar todos produtos)");
      if (opcao == 1) {
         abrirCadastroProduto();         
      } else if (opcao == 2) {
         abrirListagemProdutos();
      } else {
         System.out.println("Opcao invalida");
      }
   }
   private void abrirListagemProdutos() {
      ProdutoDAO produtoDAO = new ProdutoDAO();
      List<Produto> listaProdutos = produtoDAO.listeTodosProdutos();
      
      for (Produto prod: listaProdutos) {
         System.out.println(
               "Código:" + prod.getCodigo() +
               "\tNome: " + prod.getNome() +
               "\tPreço:" + prod.getPreco());
      }
   }

   private void abrirCadastroProduto() {
      int codigo = ui.facaPerguntaInt("Digite o codigo do produto");
      String nome = ui.facaPergunta("Digite o nome do produto");
      double preco = ui.facaPerguntaDouble("Digite o preco do produto");
      
      Produto produto = new Produto(codigo, nome, preco);
      ProdutoDAO produtoDAO = new ProdutoDAO();
      produtoDAO.cadastreProduto(produto);
      System.out.println("Produto cadastrado com sucesso");
   }
}

Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

Ver perfil do usuário http://geracaotecjava.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum