Cursos / Informática para Internet / Desenvolvimento Web II / Aula

arrow_back Aula 15 - Incorporando o Banco de Dados em Aplicações JSF - Parte 2

Alterando os managed beans para utilizar o banco de dados

Com a implementação das classes definidas no pacote br.ufrn.imd.dao já podemos alterar nossos Managed Beans para persistir e consultar informações no banco de dados da nossa aplicação. Como fazer isso? Simples! Vamos incluir nos nossos controllers, definidos no pacote br.ufrn.imd.controllers, chamadas aos métodos de inserção e busca definidos nas classes do pacote br.ufrn.imd.dao. Essas alterações se concentrarão nos métodos de obter as listas e nos métodos para cadastrar.

A Listagem 6 apresenta o código do controller para cadastro de cobradores. Observe que as alterações foram realizadas apenas nos métodos cadastrar() e getCobradores().

x
1
package br.ufrn.imd.controllers; 
2
3
import java.util.ArrayList;
4
import java.util.List;
5
6
import javax.faces.application.FacesMessage;
7
import javax.faces.bean.ManagedBean;
8
import javax.faces.bean.SessionScoped;
9
import javax.faces.context.FacesContext;
10
11
import br.ufrn.imd.dao.CobradorDao;
12
import br.ufrn.imd.model.Cobrador;
13
14
/**
15
* Controller para cadastrar cobradores.
16
* @author itamir.filho
17
*
18
*/
19
@ManagedBean
20
@SessionScoped
21
public class CadastrarCobradorMBean {
22
23
    private Cobrador cobrador;
24
25
    private List<Cobrador> cobradores;
26
27
    public CadastrarCobradorMBean() {
28
        cobrador = new Cobrador();
29
        cobradores = new ArrayList<Cobrador>();
30
    }
31
32
    public String entrarCadastro(){
33
        return "/form_cobrador.jsf";
34
    }
35
36
    public String voltar(){
37
        return "/index.jsf";
38
    }
39
40
    public String cadastrar() {
41
        CobradorDao cobradorDao = new CobradorDao();
42
        cobradorDao.inserirCobrador(cobrador);
43
        cobrador = new Cobrador();
44
        FacesMessage msg = new FacesMessage("Cobrador cadastrado com sucesso!");
45
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
46
        FacesContext.getCurrentInstance().addMessage("", msg);
47
        return "/form_cobrador.jsf";
48
    }
49
50
    public Cobrador getCobrador() {
51
        return cobrador;
52
    }
53
54
    public void setCobrador(Cobrador cobrador) {
55
        this.cobrador = cobrador;
56
    }
57
58
    public List<Cobrador> getCobradores() {
59
        CobradorDao cobradorDao = new CobradorDao();
60
        cobradores = cobradorDao.buscarTodosCobradores();
61
        return cobradores;
62
    }
63
64
    public void setCobradores(List<Cobrador> cobradores) {
65
        this.cobradores = cobradores;
66
    }
67
}
Listagem 6 - Código da classe CadastrarCobradorMBean.

A Listagem 7 apresenta o código da classe CadastrarEmpresaMBean. Observe que as alterações se concentraram nos métodos cadastrar() e getEmpresas().

67
1
package br.ufrn.imd.controllers; 
2
3
import java.util.ArrayList;
4
import java.util.List;
5
6
import javax.faces.application.FacesMessage;
7
import javax.faces.bean.ManagedBean;
8
import javax.faces.bean.SessionScoped;
9
import javax.faces.context.FacesContext;
10
11
import br.ufrn.imd.dao.EmpresaDao;
12
import br.ufrn.imd.model.Empresa;
13
14
/**
15
* Controller para cadastro das empresas.
16
* @author itamir.filho
17
*
18
*/
19
@ManagedBean
20
@SessionScoped
21
public class CadastrarEmpresaMBean {
22
23
    private Empresa empresa;
24
25
    private List<Empresa> empresas;
26
27
    public CadastrarEmpresaMBean() {
28
        empresa = new Empresa();
29
        empresas = new ArrayList<Empresa>();
30
    }
31
32
    public String entrarCadastro(){
33
        return "/form_empresa.jsf";
34
    }
35
36
    public String voltar(){
37
        return "/index.jsf";
38
    }
39
40
    public String cadastrar() {
41
        EmpresaDao empresaDao = new EmpresaDao();
42
        empresaDao.inserirEmpresa(empresa);
43
        empresa = new Empresa();
44
        FacesMessage msg = new FacesMessage("Empresa cadastrada com sucesso!");
45
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
46
        FacesContext.getCurrentInstance().addMessage("", msg);
47
        return "/form_empresa.jsf";
48
    }
49
50
    public Empresa getEmpresa() {
51
        return empresa;
52
    }
53
54
    public void setEmpresa(Empresa empresa) {
55
        this.empresa = empresa;
56
    }
57
58
    public List<Empresa> getEmpresas() {
59
        EmpresaDao empresaDao = new EmpresaDao();
60
        empresas = empresaDao.buscarTodasEmpresas();
61
        return empresas;
62
    }
63
64
    public void setEmpresas(List<Empresa> empresas) {
65
        this.empresas = empresas;
66
    }
67
}
Listagem 7 - Código da classe CadastrarEmpresaMBean.

A Listagem 8 apresenta o código da classe CadastrarLinhaMBean. Observe que as alterações se concentraram nos métodos cadastrar() e getLinhas().

68
1
package br.ufrn.imd.controllers; 
2
3
import java.util.ArrayList;
4
import java.util.List;
5
6
import javax.faces.application.FacesMessage;
7
import javax.faces.bean.ManagedBean;
8
import javax.faces.bean.SessionScoped;
9
import javax.faces.context.FacesContext;
10
11
import br.ufrn.imd.dao.LinhaDao;
12
import br.ufrn.imd.model.Linha;
13
14
/**
15
* Controller para cadastrar linhas de ônibus.
16
* @author itamir.filho
17
*
18
*/
19
@ManagedBean
20
@SessionScoped
21
public class CadastrarLinhaMBean {
22
23
    private Linha linha;
24
25
    private List<Linha> linhas;
26
27
    public CadastrarLinhaMBean() {
28
        linha = new Linha();
29
        linhas = new ArrayList<Linha>();
30
    }
31
32
    public String entrarCadastro(){
33
        return "/form_linha.jsf";
34
    }
35
36
    public String voltar(){
37
        return "/index.jsf";
38
    }
39
40
    public String cadastrar() {
41
        LinhaDao linhaDao = new LinhaDao();
42
        linhaDao.inserirLinha(linha);
43
        linha = new Linha();
44
        FacesMessage msg = new FacesMessage("Linha cadastrada com sucesso!");
45
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
46
        FacesContext.getCurrentInstance().addMessage("", msg);
47
        return "/form_linha.jsf";
48
    }
49
50
    public Linha getLinha() {
51
        return linha;
52
    }
53
54
    public void setLinha(Linha linha) {
55
        this.linha = linha;
56
    }
57
58
    public List<Linha> getLinhas() {
59
        LinhaDao linhaDao = new LinhaDao();
60
        linhas = linhaDao.buscarTodasLinhas();
61
        return linhas;
62
    }
63
64
    public void setLinhas(List<Linha> linhas) {
65
        this.linhas = linhas;
66
    }
67
68
}
Listagem 8 - Código da classe CadastrarLinhaMBean.

Versão 5.3 - Todos os Direitos reservados