Estou com uma dúvida referente a atualização e exclusão de registros de uma tabela com JSF e DAO.
Abaixo segue o meu código.
Método excluir da classe dao.
publicvoidexcluir(Adminadmin)throwsEcommerceDAOException{PreparedStatementps=null;Connectioncon=null;if(admin==null)thrownewEcommerceDAOException("O valor passado não pode ser nulo");try{con=this.con;ps=con.prepareStatement("delete from admin where id=?");ps.setInt(1,admin.getId());/*ps.setString(2, admin.getNome()); ps.setString(3, admin.getUser_name()); ps.setString(4, admin.getUser_pass());*/ps.executeUpdate();}catch(SQLExceptione){thrownewEcommerceDAOException("Erro ao excluir dados: "+e);}finally{ConnectionEcommerceFactory.closeConnection(con,ps);}}
Método excluir da classe bean.
public String excluir() throws EcommerceDAOException{
InterfaceAdminDao dao = new AdminDao();
dao.excluir(admin);
return "sucesso_exc";
}
La no meu dataTable terá uma coluna que vai ser um botão para excluir.
publicclassMarcaController{privateMarcaDaomarcaDao=newMarcaDao();privateMarcamarca;privateDataModelmarcas;publicStringexcluir(){getMarcaFromDataModel();marcaDao.excluir(marca);return"listar";}//Aqui é o que vai no campo values da <h:dataTable>publicDataModelgetMarcas(){marcas=newListDataModel(marcaDao.listar());returnmarcas;}/* * Este metodo é responsavel por pegar o objeto da linha selecionada * no datamodel. */privatevoidgetMarcaFromDataModel(){marca=(Marca)marcas.getRowData();}
jv.nicocelli
Thimor,
Não consigo utilizar o DataModel, inclusive estou comum tópico aberto aqui.
Coloca aqui a solução encontrada para ajudar outros.
jv.nicocelli
No meu Bean eu coloquei os seguintes métodos.
publicclassCategoriaBean{privateCategoriacategoria=newCategoria();privateDataModelmodel;//Lista todos os registrospublicDataModelgetTodas()throwsEcommerceDAOException{InterfaceCategoriaDaodao=newCategoriaDAO();model=newListDataModel(dao.categorias());returnmodel;}//Exibe o registro selecionado em um form utilizando a string de retorno para fazer o redirectpublicStringeditar(){Categoriacategoria=getCatFromEditOrDelete();setCategoria(categoria);return"altCategoria";}publicStringexcluir()throwsEcommerceDAOException{InterfaceCategoriaDaodao=newCategoriaDAO();Categoriacategoria=getCatFromEditOrDelete();dao.excluir(categoria);return"sucesso_exe";}//Atualiza o registro selecionadopublicStringupdate()throwsEcommerceDAOException{InterfaceCategoriaDaodao=newCategoriaDAO();dao.atualizar(categoria);return"sucesso_update";}//Seleciona o registro para atualizar ou excluirpublicCategoriagetCatFromEditOrDelete(){Categoriacategoria=(Categoria)model.getRowData();returncategoria;}}