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

arrow_back Aula 14 - Incorporando o Banco de Dados em Aplicações JSF - Parte 1

Configurando a Utilização de Bancos de Dados em Aplicações JSF

Primeiramente, vamos voltar ao nosso Sistema Integrado de Transportes Urbanos (SITURB) que tem o objetivo de cadastrar as empresas, linhas de ônibus, horários e funcionários (motorista e cobrador). Esse sistema tem sua estrutura apresentada na Figura 1 e é composto pelos seguintes pacotes:

  • br.ufrn.imd.model: composta pelas classes do modelo Cobrador, Empresa, Linha, Motorista e Onibus;
  • br.ufrn.imd.controllers: composto pelos managed beans CadastrarCobradorMBean, CadastrarEmpresaMBean, CadastrarLinhaMBean, CadastrarMotoristaMBean e CadastrarOnibusMBean.

Ainda nesse projeto, temos as views: form_cobrador.xhtml, form_empresa.xhtml, form_linha.xhtml, form_motorista.xhtml, form_onibus.xhtml, list_onibus.xhtml e index.html. Dessa forma, vamos iniciar incluindo o conector para o banco de dados MySQL, mysql-connector-java-8.0.11.jar clicando com o botão direto no projeto, escolhendo a opção “Properties, clicando a opção “Java Build Path” na esquerda, selecionando a aba Libraties, depois clique em Add External jar e escolha o arquivo mysql-connector-java-8.0.11.jar que você salvou no computador. Esse conector tem o objetivo de possibilitar a conexão da nossa aplicação com o banco de dados MySQL. Adicione também na pasta WEB-INF/lib o arquivo javax.faces-2.2.8.jar.

Figura 01 - Estrutura do projeto SITURB.
Estrutura do projeto SITURB.

Incluído o conector, vamos criar um pacote denominado br.ufrn.imd.dao e definir uma classe para realizar a conexão com nossa base de dados. Essa classe denominada GerenciadorConexao é apresentada na Listagem 1 e tem como objetivo fornecer uma conexão para que possamos realizar as alterações no banco de dados.

x
1
package br.ufrn.imd.dao;
2
3
import java.sql.Connection;
4
import java.sql.DriverManager;
5
6
/**
7
* Classe responsável por fornecedor conexão com o banco de dados para a
8
* aplicação.
9
* 
10
* @author itamir.filho
11
*/
12
public class GerenciadorConexao {
13
14
    private static Connection conexao;
15
16
    /**
17
        * Método estático para obtenção de conexão.
18
        * 
19
        * @return
20
        */
21
    public static Connection getConexao() {
22
23
        if (conexao == null) {
24
          String username = "root";
25
          String password = "123456";
26
          // Informa a URL do banco (siturb) e o timezone do servidor
27
          String url = "jdbc:mysql://localhost/siturb?serverTimezone=UTC";
28
          try {
29
                Class.forName("com.mysql.cj.jdbc.Driver");
30
                conexao = DriverManager.getConnection(url, username, password);
31
          } catch (Exception e) {
32
                e.printStackTrace();
33
          }
34
        }
35
    return conexao;
36
    }
37
}
Listagem 1 - Classe para obtenção da conexão com o banco de dados.

Observe que estamos utilizando o Driver de conexão com o MySQL que está na nossa máquina (localhost) e o banco de dados com o nome “siturb”, especificados na variável URL presente na Listagem 1. Além disso, atente-se que só teremos uma conexão com o banco de dados, que será inicializada uma única vez quando a mesma for nula. Isso é importante, pois otimizamos a quantidade de conexões da nossa aplicação com o banco de dados.

Versão 5.3 - Todos os Direitos reservados