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

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

Implementando as classes para realização de consultas e inserções no banco de dados

Então, já temos o banco de dados e as tabelas criadas para a nossa aplicação. Precisamos definir as classes para realização de consultas e inserções nessas tabelas. Para isso, criaremos no pacote br.ufrn.imd.dao as seguintes classes: CobradorDao, EmpresaDao, LinhaDao, MotoristaDao e OnibusDao. Todas as classes possuirão métodos para manipular as respectivas entidades no banco de dados SITURB. A classe CobradorDao, apresentada na Listagem 1, possui um método para consultar todos os cobradores (buscarTodosCobradores) e um método para inserir um cobrador (inserirCobrador) no banco de dados.

Observe que estamos usando as APIs do pacote java.sql.* para realização das nossas consultas e inserções nas nossas tabelas. Essas são as APIs fornecidas pela plataforma Java para manipulações em bancos de dados.

x
1
package br.ufrn.imd.dao; 
2
3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.List;
9
10
import br.ufrn.imd.model.Cobrador;
11
12
/**
13
* Classe para manipulação de informações de cobradores na base de dados.
14
* @author itamir.filho
15
*
16
*/
17
public class CobradorDao {
18
19
    /**
20
     * Lista todos os cobradores cadastrados.
21
     * @return
22
     */
23
    public List<Cobrador> buscarTodosCobradores() {
24
        List<Cobrador> resultado = new ArrayList<Cobrador>();
25
        Connection con = GerenciadorConexao.getConexao();
26
        String sql = "select * from cobrador";
27
        try {
28
            PreparedStatement ps = con.prepareStatement(sql);
29
            ResultSet rs = ps.executeQuery();
30
            while (rs.next()) {
31
                Cobrador cobrador = new Cobrador();
32
                cobrador.setCpf(rs.getString("cpf"));
33
                cobrador.setEndereco(rs.getString("endereco"));
34
                cobrador.setMatricula(rs.getString("matricula"));
35
                cobrador.setNome(rs.getString("nome"));
36
                resultado.add(cobrador);
37
            }
38
39
        } catch (SQLException e) {
40
            e.printStackTrace();
41
        }
42
        return resultado;
43
    }
44
45
46
    /**
47
     * Método para realizar a inserção de um cobrador no BD.
48
     * @param cobrador
49
     */
50
    public void inserirCobrador(Cobrador cobrador) {
51
        Connection con = GerenciadorConexao.getConexao();
52
        String sql = "insert into cobrador values (?,?,?,?)";
53
        try {
54
            PreparedStatement ps = con.prepareStatement(sql);
55
            ps.setString(1, cobrador.getNome());
56
            ps.setString(2, cobrador.getCpf());
57
            ps.setString(3, cobrador.getMatricula());
58
            ps.setString(4, cobrador.getEndereco());
59
            ps.executeUpdate();
60
        } catch (SQLException e) {
61
            e.printStackTrace();
62
        }
63
64
    }
65
}
Listagem 1 - Código da classe CobradorDao.

Passamos para a classe EmpresaDao que é apresentada na Listagem 2. Nessa classe temos dois métodos: um para consultar todas as empresas inseridas (buscarTodasEmpresas) e outro para inserção de uma empresa (inserirEmpresa) na base de dados.

62
1
package br.ufrn.imd.dao;
2
3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.List;
9
10
import br.ufrn.imd.model.Empresa;
11
12
/**
13
* Classe para manipulação de informações das empresas na base de dados.
14
* @author itamir.filho
15
*
16
*/
17
public class EmpresaDao {
18
19
    /**
20
21
     * Lista todas as empresas cadastradas.
22
     * @return
23
     */
24
    public List<Empresa> buscarTodasEmpresas() {
25
        List<Empresa> resultado = new ArrayList<Empresa>();
26
        Connection con = GerenciadorConexao.getConexao();
27
        String sql = "select * from empresa";
28
        try {
29
            PreparedStatement ps = con.prepareStatement(sql);
30
            ResultSet rs = ps.executeQuery();
31
            while (rs.next()) {
32
                Empresa empresa = new Empresa();
33
                empresa.setCnpj(rs.getString("cnpj"));
34
                empresa.setRazaoSocial(rs.getString("razao_social"));
35
                resultado.add(empresa);
36
            }
37
38
            } catch (SQLException e) {
39
                e.printStackTrace();
40
            }
41
        return resultado;
42
        }
43
44
45
    /**
46
     * Método para realizar a inserção de uma empresa no BD.
47
     * @param empresa
48
     */
49
    public void inserirEmpresa(Empresa empresa) {
50
        Connection con = GerenciadorConexao.getConexao();
51
        String sql = "insert into empresa values (?,?)";
52
        try {
53
            PreparedStatement ps = con.prepareStatement(sql);
54
            ps.setString(1, empresa.getRazaoSocial());
55
            ps.setString(2, empresa.getCnpj());
56
            ps.executeUpdate();
57
        } catch (SQLException e) {
58
            e.printStackTrace();
59
        }
60
61
    }
62
}
Listagem 2 - Código da classe EmpresaDao.

Versão 5.3 - Todos os Direitos reservados