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 pt.2

A Listagem 9 apresenta o código da classe CadastrarMotoristaMBean. Observe, mais uma vez, que as alterações se concentraram nos métodos cadastrar() e getMotoristas().

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.MotoristaDao;
12
import br.ufrn.imd.model.Motorista;
13
14
/**
15
* Controller para cadastrar motoristas.
16
* @author itamir.filho
17
*
18
*/
19
@ManagedBean
20
@SessionScoped
21
public class CadastrarMotoristaMBean {
22
23
    private Motorista motorista;
24
25
    private List<Motorista> motoristas;
26
27
    public CadastrarMotoristaMBean() {
28
        motorista = new Motorista();
29
        motoristas = new ArrayList<Motorista>();
30
    }
31
32
    public String entrarCadastro(){
33
        return "/form_motorista.jsf";
34
    }
35
36
    public String voltar(){
37
        return "/index.jsf";
38
    }
39
40
    public String cadastrar() {
41
        MotoristaDao motoristaDao = new MotoristaDao();
42
        motoristaDao.inserirMotorista(motorista);
43
        motorista = new Motorista();
44
        FacesMessage msg = new FacesMessage("Motorista cadastrado com sucesso!");
45
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
46
        FacesContext.getCurrentInstance().addMessage("", msg);
47
        return "/form_motorista.jsf";
48
    }
49
50
    public Motorista getMotorista() {
51
        return motorista;
52
    }
53
54
    public void setMotorista(Motorista motorista) {
55
        this.motorista = motorista;
56
     }
57
58
    public List<Motorista> getMotoristas() {
59
        MotoristaDao motoristaDao = new MotoristaDao();
60
        motoristas = motoristaDao.buscarTodosMotoristas();
61
        return motoristas;
62
    }
63
64
    public void setMotoristas(List<Motorista> motoristas) {
65
        this.motoristas = motoristas;
66
    }
67
}
Listagem 9 - Código da classe CadastrarMotoristaMBean.

Por fim, vamos à Listagem 10, a qual apresenta o código da classe CadastrarOnibusMBean. Observe que as alterações se concentraram nos métodos cadastrar() e getListagem().

83
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.OnibusDao;
12
import br.ufrn.imd.model.Cobrador;
13
import br.ufrn.imd.model.Empresa;
14
import br.ufrn.imd.model.Linha;
15
import br.ufrn.imd.model.Motorista;
16
import br.ufrn.imd.model.Onibus;
17
18
/**
19
* Controller para cadastrar os ônibus.
20
* @author itamir.filho
21
*
22
*/
23
@ManagedBean
24
@SessionScoped
25
public class CadastrarOnibusMBean {
26
27
    private Onibus onibus;
28
29
    private List<Onibus> listagem;
30
31
    public CadastrarOnibusMBean() {
32
        iniciarValores();
33
        listagem = new ArrayList<Onibus>();
34
    }
35
36
    private void iniciarValores() {
37
        onibus = new Onibus();
38
        onibus.setMotorista(new Motorista());
39
        onibus.setLinha(new Linha());
40
        onibus.setEmpresa(new Empresa());
41
        onibus.setCobrador(new Cobrador());
42
    }
43
44
    public String entrarCadastro(){
45
        return "/form_onibus.jsf";
46
    }
47
48
    public String listar(){
49
        return "/list_onibus.jsf";
50
    }
51
52
    public String voltar(){
53
        return "/index.jsf";
54
    }
55
56
    public String cadastrar() {
57
        OnibusDao onibusDao = new OnibusDao();
58
        onibusDao.inserirOnibus(onibus);
59
        iniciarValores();
60
        FacesMessage msg = new FacesMessage("Ônibus cadastrado com sucesso!");
61
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
62
        FacesContext.getCurrentInstance().addMessage("", msg);
63
        return "/form_onibus.jsf";
64
    }
65
66
    public Onibus getOnibus() {
67
        return onibus;
68
    }
69
70
    public void setOnibus(Onibus onibus) {
71
        this.onibus = onibus;
72
    }
73
74
    public List<Onibus> getListagem() {
75
        OnibusDao onibusDao = new OnibusDao();
76
        listagem = onibusDao.buscarTodosOnibus();
77
        return listagem;
78
    }
79
80
    public void setListagem(List<Onibus> listagem) {
81
        this.listagem = listagem;
82
    }
83
}
Listagem 10 - Código da classe CadastrarOnibusMBean.

Pronto, com essas alterações nos controllers que se resumem a instanciar classes do pacote br.ufrn.imd.dao e utilizar seus métodos de inserção e busca, nossa aplicação JSF está pronta para utilizar o banco de dados “siturb” para armazenar suas informações. Certifique-se que o driver do MySQL (arquivo mysql-connector-java-8.0.11.jar) está instalado na aplicação tanto no Java Build Path como na pasta WEB-INF/lib (se tiver problemas com o seu projeto não localizando o driver MySQL). Após essas alterações, inicie sua aplicação e acesse a URL http://localhost:8080/SITURB/ para ver o resultado.

Assim, chegamos ao fim da nossa aula! Agora você já sabe como criar aplicações web com o framework JSF e utilizar um banco de dados para armazenamento de informações. Que tal pegar aquela ideia e criar um produto comercial?

Versão 5.3 - Todos os Direitos reservados