Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Programação
Material Teórico
Eventos, Aplicativos com Banco de Dados e Organização de
Componentes De Layouts
Revisão Textual:
Profª. Ms. Selma Aparecida Cesarin
Eventos, Aplicativos com Banco de
Dados e Organização de Componentes
de Layouts
Estamos iniciando nossos estudos sobre Eventos, Aplicativos com Banco de Dados, da
Disciplina de Técnicas de Programação.
Ao término deste estudo, desejamos que você seja capaz de interpretar e criar uma interface
gráfica com todas as propriedades que a linguagem disponibiliza juntando com o Banco
de Dados.
Para ajudá-lo(a), realize a leitura dos textos indicados, acompanhe e refaça os exemplos
resolvidos, além de treinar com as atividades práticas disponíveis e suas resoluções, ao final
do conteúdo.
5
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Contextualização
Nesta Unidade, vamos construir um projeto mais elaborado, na ferramenta NetBeans. Siga
atentamente o tutorial de criação de projetos e pacotes.
Abordaremos alguns componentes farão parte do layout da tela de uma interface gráfica,
juntamente com o Banco de dados.
Assim, durante o curso, veremos, também, que existem várias situações nas quais podemos
usar os componentes gráficos, incluindo-os nos projetos mais elaborados.
Esse ferramental teórico servirá para sua vida como analista/programador.
6
Operações com Banco de Dados e JDBC
O QUE É JDBC ?
JDBC significa Java Database Connectivity. É uma API Java padrão para banco de dados
independente de conectividade entre a linguagem de programação Java e uma grande variedade
de bancos de dados.
Esta API fornece um conjunto de interfaces para cada uma das tarefas comumente associado
ao uso de banco de dados, como por exemplo:
··Conexão com um banco de dados;
··Consultas no banco de dados;
··Visualização ou Alteração de registros.
O Pacote para acessar essas interfaces é java.sql.
Dentro do JDBC, ainda existe outro componente indispensável para acessar o Banco de
dados, o Driver. Para conectarmos a um Banco de dados, precisamos fazer uso do Driver
específico para o Banco.
Explore
Saiba mais sobre o Driver MySQL em: http://dev.mysql.com/doc/connector-j/en/index.html.
VAMOS À PRÁTICA
Antes de qualquer coisa, precisamos criar o ambiente de Banco de dados. Devemos ter um
serviço de banco de dados rodando (Servidor de Banco de dados) e uma Database com a
tabela que nossa aplicação vai manipular.
Como dito, iremos usar o MySQL como Banco de dados de nossa aplicação. Para o nosso
exemplo, iremos baixar uma versão Portable de um servidor MySQL, o Uniform Server. Saiba
mais sobre esse software em http://www.uniformserver.com/.
Para criar as tabelas necessárias para a nossa aplicação, usaremos o Heidisql. Saiba mais
sobre esse software em http://www.heidisql.com/
7
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Passo 1
Baixe o Uniform Server acessando o link: http://sourceforge.net/projects/miniserver/files/
latest/download?source=files. Localize o arquivo e clique duas vezes sobre o executável e
selecione a opção “Extract”.
Após extrair todos os arquivos, localize e execute o arquivo “UniController”. Digite 123 para
a senha do Root e clique em OK. Na próxima tela, clique em OK novamente.
Passo 2
Ative o serviço MySQL clicando no botão “Start MySQL”. Se o serviço for inicializado com
sucesso, o quadro ao lado do botão ficará verde.
8
Passo 3
Crie uma base de dados clicando no menu MySQL/Database create – delete.
Digite “dbAula4” no campo Enter database name to create e clique em Create Database e
feche a tela.
9
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Feito isso, a aplicação vai para a bandeja do Windows; para maximizar o programa, é só
clicar duas vezes sobre o ícone.
10
Concluindo todos esses passos, temos:
··Um serviço MySQL rodando;
··Uma Base de dados MySQL ativa.
Passo 1
Baixe o Heidisql acessando o link: http://www.heidisql.com/downloads/releases/
HeidiSQL_8.3_Portable.zip. Extraia a pasta baixada, localize o arquivo “heidisql” e execute-o.
11
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
É preciso apenas digitar a senha do root (123); a configuração desta tela deve ser como na
figura a seguir:
12
Clique no botão “Save” e em seguida no botão “Open”.
Passo 2
Clique sobre “dbaula4”.
13
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
14
Agora, vamos dar um “refresh” para atualizar as informações exibidas de nossa base de dados.
Clique com o botão direito do mouse sobre a nossa database e escolha a opção “Refresh”.
Podemos agora perceber que foi criada uma tabela com o nome de Curso.
Concluímos o ambiente de banco de dados. Agora podemos seguir adiante e criar uma
aplicação que vai se conectar e manipular tabelas em nosso banco de dados.
15
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Vamos à Prática
Passo 1
Abra o Netbeans, clique no menu Arquivo/Novo Projeto.
16
Escolha a opção “Aplicação Java”.
17
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Crie uma pasta chamada Aula 4 na área de trabalho e clique em abrir. Na tela seguinte,
clique em Finalizar.
Passo 2
Clique no nome do projeto com o botão direito do mouse e em seguida selecione a opção
Novo/FormJFrame.
18
Digite “Principal” no campo Nome da Classe e clique em finalizar.
Passo 3
Clique com o botão direito do mouse em cima do Frame e selecione a opção Definir Layout/
Layout Nulo.
19
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
20
Lembrando que para acessar a propriedade “Nome da variável” do componente, é preciso
clicar com o botão direito do mouse sobre o componente, selecionar a opção Propriedades e na
Aba código alterar a propriedade desejada.
Passo 3
Adicione o Drive JDBC MySQL. Clique com o botão direito sobre a pasta Bibliotecas e
selecione a opção Adicionar Biblioteca.
21
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Na tela a seguir, localize e selecione a opção Driver JDBC do MySQL e clique em Adicionar
Biblioteca.
Passo 4
Importe as classe dos pacotes javax.swing e java.sql digitando nas primeiras linhas do código
Java o seguinte:
importjavax.swing.*;
importjava.sql.*;
22
Passo 5
Crie um evento ActionPerformed para o botão “Inserir”.
try {
Class.forName(“com.mysql.jdbc.Driver”);
conn = DriverManager.getConnection(“jdbc:mysql://localhost/dbaula4”,
“root”, “123”);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = “INSERT INTO cursoVALUES(‘”
+ txtSigla.getText() + “’,’”
+ txtNome.getText() + “’,’”
+ txtDesc.getText() + “’)”;
JOptionPane.showMessageDialog(null, sql);
int i = 0;
i = stmt.executeUpdate(sql);//executando o comando sql
23
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
stmt.close();
if (i > 0) {
JOptionPane.showMessageDialog(null, “Curso cadastrado com sucesso!”);
abreTabela();
}
} catch (ClassNotFoundException e) {
System.out.println(e);
} catch (SQLException e) {
System.out.println(e);
}
• Linha 188 – Cria um objeto de conexão, passando como parâmetros o endereço, usuário
e senha do banco de dados;
• Linha 190 – Cria um objeto Statement e é por meio desse objeto que iremos executar
operações no banco de dados;
• Linha 196 – Para fins didáticos, exibimos o conteúdo da variável string (sql) em um
JOptionPane;
• Linha 198 – Executa instrução SQL e atribui resultado a uma variável int;
• Linha 202 – Se i for maior que zero, significa que a instrução SQL foi executada com
corretamente, assim é exibida uma mensagem de sucesso;
24
Passo 6
Crie um método void chamado atualiza_campos. E digite o seguinte código:
Passo 7
Crie um método void chamado abrirTabela. E digite o seguinte código:
25
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
• Linha 345 – Cria um objeto de conexão passando como parâmetros o endereço, usuário
e senha do banco de dados;
• Linha 347 – Cria um objeto Statement e é por meio desse objeto que iremos executar
operações no banco de dados;
• Linha 349 – Executa comando Statement que recebe como parâmetro a instrução SQL e
atribui o resultado a uma variável do tipo ResultSet;
• Linha 350 – Executa comando que posiciona o resultado no primeiro registro retornado
da seleção da tabela curso;
• Linha 351 – Chama método atualiza_campos para exibir o resultado de nossa instrução
SQL nos campos de nossa interface gráfica.
26
Passo 8
Crie um método para o botão “Deletar” e digite o seguinte código:
stmt.close();
if (i > 0) {
JOptionPane.showMessageDialog(null, “Curso deletado com sucesso!”);
// limpando campos
txtSigla.setText(“”);
txtNome.setText(“”);
txtDesc.setText(“”);
abreTabela();
}
} catch (ClassNotFoundException e) {
System.out.println(e);
} catch (SQLException e) {
System.out.println(e);
}
27
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
• Linha 211 – Atribui valor do campo Sigla para uma variável string;
• Linha 214 – Cria um objeto de conexão passando como parâmetros o endereço, usuário
e senha do banco de dados;
• Linha 215 – Cria um objeto Statement e é por meio desse objeto que iremos executar
operações no banco de dados;
• Linha 217 – Implementa instrução SQL e atribui o resultado a uma variável string;
• Linha 218 – Para fins didáticos, exibimos o conteúdo da variável string (sql) em um
JOptionPane;
• Linha 220 – Executa instrução SQL e atribui resultado a uma variável int.
Passo 9
Crie um evento ActionPerformed para o botão “Atualizar” e digite o seguinte código:
28
String query1 = “UPDATE curso SET sigla=”;
String a = txtSigla.getText();
try {
Class.forName(“com.mysql.jdbc.Driver”);
conn = DriverManager.getConnection(“jdbc:mysql://localhost/dbaula4”, “root”, “123”);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = query1 + “’” + txtSigla.getText() + “’,”
+ “nome=’” + txtNome.getText() + “’,”
+ “descricao=’” + txtDesc.getText()
+ “’ where sigla=” + “’” + txtSigla.getText() + “’”;
JOptionPane.showMessageDialog(null, sql);
int i = 0;
i = stmt.executeUpdate(sql);//executando o comando sql
int y = 0;
stmt.close();
y = stmt.CLOSE_CURRENT_RESULT;
if (i > 0) {
JOptionPane.showMessageDialog(null, “Curso alterado com sucesso!”);
abreTabela();
}
} catch (ClassNotFoundException e) {
System.out.println(e);
} catch (SQLException e) {
System.out.println(e);
}
29
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
• 248 – Cria um objeto Statement e é por meio desse objeto que iremos executar operações
no banco de dados;
• 254 – Para fins didáticos, exibimos o conteúdo da variável string (sql) em um JOptionPane;
Passo 10
Crie um evento ActionPerformed para o botão “Limpar Campos” e digite o seguinte código:
txtSigla.setText(“”);
txtNome.setText(“”);
txtDesc.setText(“”);
Esse código é simples; aqui, estamos atribuindo uma string vazia para a propriedade setText
dos campos textos de nossa aplicação.
30
Passo 10
Crie um evento ActionPerformed para o botão “Primeiro” e digite o seguinte código:
try {
rs.first();
atualiza_campos();
} catch (SQLException e) {
System.out.println(e);
}
Passo 11
Crie um evento ActionPerformed para o botão “Anterior” e digite o seguinte código:
try {
rs.previous();
atualiza_campos();
} catch (SQLException e) {
System.out.println(e);
}
31
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Passo 12
Crie um evento ActionPerformed para o botão “Próximo” e digite o seguinte código:
try {
rs.next();
atualiza_campos();
} catch (SQLException e) {
System.out.println(e);
}
32
Passo 13
Crie um evento ActionPerformed para o botão “Último” e digite o seguinte código:
try {
rs.last();
atualiza_campos();
} catch (SQLException e) {
System.out.println(e);
}
Passo 14
Clique com o botão direito do mouse sobre uma área vazia do form e selecione Evento/
Window / windowOpened.
33
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
abreTabela();
Vamos Testar!
Pressione Shift + F11 ou clique no menu Executar/ Limpar e Construir Projeto.
34
Digite os Campos e clique em Inserir.
Agora, cadastre outros cursos, teste os botões Deletar e Atualizar. Com mais de um registro
em nossa tabela, poderemos testar os botões de navegação entre os registros (Primeiro, Anterior,
Próximo e Último).
Nota
Lembre-se sempre de que para nossa aplicação rodar com sucesso, o serviço de banco de
dados deve estar rodando.
35
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Material Complementar
Nesta Unidade, vimos as operações básicas ofertadas pelo JDBC. Podemos nos aprofundar
mais no assunto no site da própria Oracle, na ferramenta Java, e ver os comandos de manipulação
de dados.
Quanto ao banco de dados, tanto o Oracle, Mysql, SQLServer, entre outros, todos usam o
SQL padrão; portanto, qualquer site oficial destas ferramentas dará o suporte necessário para
nossas aplicações.
A seguir, os links das principais dicas das ferramentas:
Explore
http://www.oracle.com/br/products/database/overview/index.html;
http://www.oracle.com/br/products/mysql/index.html;
http://www.sqlserverdicas.com/.
36
Referências
Aplicação Java
https://mega.co.nz/#!oBI2yYyI!hwAhxr70CXHHtyV0SgO_IkbwqIV1v164Y5xOFahXHxA
37
Unidade: Eventos, Aplicativos com Banco de Dados e Organização de Componentes de Layouts
Anotações
38