Beans dao

0 respostas
L

Olá pessoal sou novo aqui no forum, e novo nesse mundo Java…

Estou com um problema no desenvolvimento de um portal (trabalho da faculdade). Enfim…

Esse é o erro que me gera…
org.apache.jasper.JasperException: java.lang.ClassCastException: beans_dao.Produtos cannot be cast to beans_dao.Clientes

tenho dois formularios, ao executar o projeto consigo acessar um formulario e quando acesso o outro me gera esse erro, se eu fechar e reconstruir consigo acessar o outro formulario porem não consigo acessar mais o que tinha acessado.

Segue o código DAO do Produtos:
package beans_dao;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

public class ProdutosDAO {

private String url;
private Statement cmd;
private Connection cnn;           // Atributo de conexao:
private PreparedStatement ps = null;  // Objeto para SQL Preparado:

public ProdutosDAO() throws SQLException, ClassNotFoundException {
    url = "jdbc:derby://localhost:1527/dbFarmaLight;create=true";
    checarTabela();

}

private String getConexao() {
    return this.url;
}

// Este método recebe o objeto preenchido pelo JavaBeans, via parametro:
public boolean atualizar(Produtos it) throws Exception {
    try {
        cnn = abrir();
        if (it.getAcao().equals("Incluir")) {
            ps = cnn.prepareStatement(
                    "insert into PRODUTOS (descricao, unidade, saldo, valorUnitario, obs) Values(?,?,?,?,?)");
        } else {
            ps = cnn.prepareStatement(
                    "update PRODUTOS set descricao=?, unidade=?, saldo=?, valorUnitario=?, obs=? where codigo=?");
            ps.setInt(6, it.getCodigo());
        }
        ps.setString(1, it.getDescricao());
        ps.setString(2, it.getUnidade());
        ps.setFloat(3, it.getSaldo());
        ps.setFloat(4, it.getValorUnitario());
        ps.setString(5, it.getObs());
        ps.executeUpdate();
        ps.close();
        return true;
    } catch (Exception e) {
        System.out.println(e.toString());
        return false;
    }
}

// Este método recebe o ID para exclusão:
public boolean excluir(int item) throws SQLException, ClassNotFoundException {
    cnn = abrir();
    try {
        ps = cnn.prepareStatement("delete from PRODUTOS where codigo=?");
        ps.setString(1, Integer.toString(item));
        ps.executeUpdate();
        ps.close();
        return true;
    } catch (Exception e) {
        System.out.println(e.toString());
        return false;
    }
}

// Este método, instancia o JavaBeans para auxiliar a montar a lista:
public List<Produtos> getLista() throws SQLException, ClassNotFoundException {
    cnn = abrir();
    ps = cnn.prepareStatement("select * from PRODUTOS");
    ResultSet rs = ps.executeQuery();
    List<Produtos> Prods = new ArrayList<Produtos>();
    while (rs.next()) {
        // Criando o objeto e setando valores:
        Produtos it = new Produtos();
        it.setCodigo(rs.getInt("codigo"));
        it.setDescricao(rs.getString("descricao"));
        it.setUnidade(rs.getString("unidade"));
        it.setSaldo(rs.getFloat("saldo"));
        it.setValorUnitario(rs.getFloat("valorUnitario"));
        it.setObs(rs.getString("obs"));

        // Adicionando o objeto à lista:
        Prods.add(it);
    }
    rs.close();
    ps.close();
    return Prods;
}

// Este método, instancia o JavaBeans para consulta de um registro:
public Produtos getItem(int cod) throws SQLException, ClassNotFoundException {
    cnn = abrir();
    ps = cnn.prepareStatement("select * from PRODUTOS where codigo=?");
    ps.setInt(1, cod);
    ResultSet rs = ps.executeQuery();

    Produtos it = new Produtos();
    if (rs.next()) {
        // Criando o objeto e setando valores:
        it.setCodigo(rs.getInt("codigo"));
        it.setDescricao(rs.getString("descricao"));
        it.setUnidade(rs.getString("unidade"));
        it.setSaldo(rs.getFloat("saldo"));
        it.setValorUnitario(rs.getFloat("valorUnitario"));
        it.setObs(rs.getString("obs"));
    }
    rs.close();
    ps.close();
    return it;
}

private Connection abrir() throws ClassNotFoundException, SQLException {
    Connection oCon;
    Class.forName("org.apache.derby.jdbc.ClientDriver");
    oCon = DriverManager.getConnection(getConexao(), "farma", "farma");
    return oCon;
}

private void fechar() throws SQLException {
    cmd.close();
    cnn.close();
}

private ResultSet executarSQL(String strSQL) throws ClassNotFoundException, SQLException {
    cnn = abrir();
    cmd = cnn.createStatement();
    ResultSet objRS = cmd.executeQuery(strSQL);
    return objRS;
}

private void checarTabela() throws SQLException, ClassNotFoundException {
    String sql = "SELECT count(*) as qtReg FROM sys.systables "
            + " WHERE tablename='PRODUTOS' AND tabletype='T'";
    ResultSet rs = executarSQL(sql);
    if (rs.next()) {
        if (rs.getInt("qtReg") == 0) {

            sql = "create table PRODUTOS ("
                    + "    codigo    bigint NOT NULL"
                    + "                    PRIMARY KEY"
                    + "                    GENERATED ALWAYS AS IDENTITY"
                    + "                    (START WITH 1, INCREMENT BY 1),"
                    + "    descricao varchar(50),"
                    + "    unidade varchar(2),"
                    + "    saldo decimal(10,2),"
                    + "    valorUnitario decimal(10,2),"
                    + "    obs varchar(50)"
                    + ")";
            cnn.createStatement().execute(sql);
            cnn.commit();
        }
    }
    rs.close();
    fechar();
}

}

Código do DAO do Clientes:

/*

  • Clientes DAO
    */
    package beans_dao;
import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

/**
*

  • @author Leandro
    */
    public class ClientesDAO {

    private String banco; //Caminho banco
    private Statement cmd;
    private Connection cnn; // Atributo de conexao:
    private PreparedStatement ps = null; // Objeto para SQL Preparado:

    public ClientesDAO() throws SQLException, ClassNotFoundException {
    
    banco = jdbc:derby://localhost:1527/dbFarmaLight;create=true”;
    
    checarTabela();
    

    }

    private String getConexao() {
    
    return this.banco;
    
    }
    
    // Este método recebe o objeto preenchido pelo JavaBeans, via parametro:
    
    public boolean atualizar(Clientes ict) throws Exception {
    
    try {
    
    cnn = abrir();
    
    if (ict.getAcao().equals(Incluir)) {
    
    ps = cnn.prepareStatement(insert into CLIENTES (nome, cpf, telefone, email, cidade) Values(?,?,?,?,?));
    
    } else {
    
    ps = cnn.prepareStatement(update CLIENTES set nome=?, cpf=?, telefone=?, email=?, cidade=? where codigo=?”);
    
    ps.setInt(6, ict.getCodigo());
    
    }
    
    ps.setString(1, ict.getNome());
    
    ps.setString(2, ict.getCpf());
    
    ps.setString(3, ict.getTelefone());
    
    ps.setString(4, ict.getEmail());
    
    ps.setString(5, ict.getCidade());
    
    ps.executeUpdate();
    
    ps.close();
    
    return true;
    
    } catch (Exception e) {
    
    System.out.println(e.toString());
    
    return false;
    
    }
    
    }
    
    // Este método recebe o ID para exclusão:
    
    public boolean excluir(int item) throws SQLException, ClassNotFoundException {
    
    cnn = abrir();
    
    try {
    
    ps = cnn.prepareStatement(delete from CLIENTES where codigo=?);
    
    ps.setString(1, Integer.toString(item));
    
    ps.executeUpdate();
    
    ps.close();
    
    return true;
    
    } catch (Exception e) {
    
    System.out.println(e.toString());
    
    return false;
    
    }
    
    }
    
    // Este método, instancia o JavaBeans para auxiliar a montar a lista:
    
    public List getLista() throws SQLException, ClassNotFoundException {
    
    cnn = abrir();
    
    ps = cnn.prepareStatement(select * from CLIENTES);
    
    ResultSet rs = ps.executeQuery();
    
    List Clie = new ArrayList();
    
    while (rs.next()) {
    
    // Criando o objeto e setando valores:
    
    Clientes it = new Clientes();
    
    it.setCodigo(rs.getInt(codigo));
    
    it.setNome(rs.getString(nome));
    
    it.setCpf(rs.getString(cpf));
    
    it.setTelefone(rs.getString(telefone));
    
    it.setEmail(rs.getString(email));
    
    it.setCidade(rs.getString(cidade));
    
    // Adicionando o objeto à lista:
         Clie.add(it);
     }
     rs.close();
     ps.close();
     return Clie;
    

    }

    // Este método, instancia o JavaBeans para consulta de um registro:
    
    public Clientes getItem(int cod) throws SQLException, ClassNotFoundException {
    
    cnn = abrir();
    
    ps = cnn.prepareStatement(select * from CLIENTES where codigo=?”);
    
    ps.setInt(1, cod);
    
    ResultSet rs = ps.executeQuery();
    
    Clientes it = new Clientes();
     if (rs.next()) {
         // Criando o objeto e setando valores:
         it.setCodigo(rs.getInt("codigo"));
         it.setNome(rs.getString("nome"));
         it.setCpf(rs.getString("cpf"));
         it.setTelefone(rs.getString("telefone"));
         it.setEmail(rs.getString("email"));
         it.setCidade(rs.getString("cidade"));
     }
     rs.close();
     ps.close();
     return it;
    

    }

    private Connection abrir() throws ClassNotFoundException, SQLException {
    
    Connection oCon;
    
    Class.forName(org.apache.derby.jdbc.ClientDriver);
    
    oCon = DriverManager.getConnection(getConexao(), farma”, farma);
    
    return oCon;
    
    }
    
    private void fechar() throws SQLException {
    
    cmd.close();
    
    cnn.close();
    
    }
    
    //EXECUTA INSTRUÇÃO SQL
    
    private ResultSet executarSQL(String strSQL) throws ClassNotFoundException, SQLException {
    
    cnn = abrir();
    
    cmd = cnn.createStatement();
    
    ResultSet objRS = cmd.executeQuery(strSQL);
    
    return objRS;
    
    }
    
    //VERIFICA SE A TABELA CLIENTES EXISTE
    
    private void checarTabela() throws SQLException, ClassNotFoundException {
    
    String sql = SELECT count(*) as qtReg FROM sys.systables "
    
    + " WHERE tablename=CLIENTES AND tabletype=T’”;
    
    ResultSet rs = executarSQL(sql);
    
    if (rs.next()) {
    
    //SE A TABELA NÃO EXISTIR/ AINDA NÃO FOI CRIADA
         //CRIA TABELA CLIENTES
         if (rs.getInt("qtReg") == 0) {
    
             sql = "create table CLIENTES ("
                     + "    codigo    bigint NOT NULL"
                     + "                     PRIMARY KEY"
                     + "                     GENERATED ALWAYS AS IDENTITY"
                     + "                     (START WITH 1, INCREMENT BY 1),"
                     + "    nome varchar(50),"
                     + "    cpf varchar(15),"
                     + "    telefone varchar(15),"
                     + "    email varchar(50),"
                     + "    cidade varchar(20)"
                     + ")";
             cnn.createStatement().execute(sql);
             cnn.commit();
         }
     }
     rs.close();
     fechar();
    

    }

}

Tenho certeza que foi um erro bobo o meu, espero que alguem possa me ajudar muito obrigado…

Criado 17 de maio de 2014
Respostas 0
Participantes 1