0% acharam este documento útil (0 voto)
455 visualizações35 páginas

Aula 2.5 - Crud Java Desktop

Este documento fornece instruções passo a passo para criar um aplicativo Java simples usando MySQL para realizar operações CRUD (criar, ler, atualizar e excluir) em uma tabela de alunos. O tutorial ensina como se conectar ao banco de dados MySQL, criar uma tabela e inserir, atualizar, excluir e listar dados usando a classe Statement do JDBC no NetBeans.

Enviado por

robinson
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
455 visualizações35 páginas

Aula 2.5 - Crud Java Desktop

Este documento fornece instruções passo a passo para criar um aplicativo Java simples usando MySQL para realizar operações CRUD (criar, ler, atualizar e excluir) em uma tabela de alunos. O tutorial ensina como se conectar ao banco de dados MySQL, criar uma tabela e inserir, atualizar, excluir e listar dados usando a classe Statement do JDBC no NetBeans.

Enviado por

robinson
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 35

com Java e MySQL

Prof. Jorge Viana Doria Junior, M.Sc.


Mestre em Informtica DCC/IM/iNCE/UFRJ
[email protected]

Tecnologias envolvidas:
Java, JDBC, MySQL e NetBeans
Nesta aula voc vai aprender de maneira muito simples
e objetiva a criao uma aplicaoCRUD JAVA(Create,
Read, Update e Delete) no NetBeans para atender
tarefas simples e rpidas.
Aprenderemos a inserir, atualizar, excluir e listar dados
de um formulrio em banco de dados MySQL com a
classeStatementem uma tabela chamada aluno.

OMySQL um sistema gerenciador de banco de dados (SGBD),


que utiliza a linguagem SQL (Linguagem de Consulta Estruturada,
do ingls Structured Query Language) como interface.
atualmente um dos bancos de dados mais populares, com mais
de 10 milhes de instalaes pelo mundo.
Entre os usurios do banco de dados MySQL esto: NASA,
Friendster, Banco Bradesco, DATAPREV, HP, Nokia, Sony,
Lufthansa, Petrobras, U.S. Army, U.S. Federal Reserve
Bank, Associated Press, Alcatel Slashdot, Cisco Systems,
Google e outros...

ATENO
Siga os passos determinados.
Brinque e aprender.
Tente fazer o que solicitado.
Muita ateno aos comentrios.
importante e faa para ver o que acontece.
Ir descobrir algumas coisas por si s.
Considere isto um DESAFIO.
Perceba e j estar aprendendo muito.
Pode ter certeza! Voc pode aprender muito mais do que pensa!

Passo 1: Instalao do Banco de


Dados MySQL
Antes de mais nada, necessrio fazer a instalao do
MySQL em sua mquina.

Portanto, leia o PDF MySQL Manual de


Instalao.pdf disponvel no AVA.

Passo 2: Instalao da IDE


NetBeans

Para instalar o NetBeans, faa o donwload no site


abaixo e execute o instalador. Lembre-se, voc dever
ter instalado o Java 7:
https://netbeans.org/downloads/index.html

Passo 3: Criao de um Banco de Dados e Tabela


Aluno

Execute o NetBeans.
Registre
o
servidor
MySQL. Isto s poder
ocorrer quando o MySQL
estiver instalado. Basta
clicar com o boto direto
do mouse em Banco de
dados
conforme
a
imagem:

Passo 3: Criao de um Banco de Dados e Tabela


Aluno
Configure as propriedades do
servidor MySQL, aceitando
algumas como padro
oferecidos na
guiaPropriedades
Bsicas.
Coloque a senha do root
definida na instalao do
MySQL. No laboratrio da
Unicarioca deve ser
opcional, vamos testar?

Passo 3: Criao de um Banco de Dados e Tabela


Aluno

Conecte
ao
servidor
MySQL com o boto direito
do mouse e, logo aps, no
mesmo menu, crie um
banco
de
dados
chamadoEscola.

Passo 3: Criao de um Banco de Dados e Tabela


Aluno

Para criar o banco de dados, voc dever definir o


nome e conceder acesso. Voc pode faz-lo conforme
proposto na imagem que segue:

Passo 3: Criao de um Banco de Dados e Tabela


Aluno

Conecte com o banco de dados clicando com o boto


direito do mouse sobreEscola. Isto permitir a criao
da conexo para ele e posterior uso em aplicaes no
NetBeans.

Passo 3: Criao de um Banco de Dados e Tabela


Aluno

A criao da conexo para o BD (Banco de


Dados)Escolapode ser vista abaixo circundada em
azul. Conecte a ele para que se possa criar tabelas.

Passo 3: Criao de um Banco de Dados e Tabela


Aluno

A partir da, possvel criar tabelas para o banco de


dados, e no caso, criaremos a tabela Aluno para efeito
de aprendizado.
Com o boto direito do mouse sobre
Escola -> Tabelas,acesseExecutar Comando para que
aparea um editorComando SQLem branco.

Digite no editor (Voc pode usarCtrl-C Ctrl-V),


oscriptdecreate
criao
da tabelaAluno, mostrado abaixo, e
table aluno
rode-o:
(
id BIGINT not null primary key,
Nome VARCHAR(40) not null,
CPF VARCHAR(14) not null unique
)

Passo 3: Criao de um Banco de Dados e Tabela


Aluno

Resultado final

Passo 4: Criao da Aplicao JAVA no NetBeans


Clique no
menuArquivo
(File) -> Novo
Projeto
(New
Project)seleci
on Java ->
Aplicao
Java (Java
Application)e
clique
emPrximo(Ne
xt).

Passo 4: Criao da Aplicao JAVA no NetBeans


EmNome do Projeto(Project Name)coloque o nome, ou
outro que
deseje,JavaApplicationMySQLComStatemente
clique emFinalizar(Finish). Resultado abaixo:

Passo 4: Criao da Aplicao JAVA no NetBeans

Passo 4: Criao da Aplicao JAVA no NetBeans


Crie o pacoteapresentacaocomo apontado na
imagem abaixo:

Passo 4: Criao da Aplicao JAVA no NetBeans


Crie umJFramechamadoJFrameAlunoseguindo a
imagem abaixo:

Passo 4: Criao da Aplicao JAVA no NetBeans

Passo 4: Criao da Aplicao JAVA no NetBeans


Crie os componentes, noJFrame,como apresentado na
imagem a seguir. Esteja atento aos detalhes de quais
so estes componentes naPaleta (Pallete).

Passo 4: Criao da Aplicao JAVA no NetBeans


Gere os eventos de cada boto com duplo clique
dobre eles ou clicando com o boto direito do mouse e
acessandoEventos (Events) -> Ao (Action) ->
actionPerformed. Veja os eventos na guia decdigo
fonte (Source)abaixo:

Passo 4: Criao da Aplicao JAVA no NetBeans


Adicione oDriver JDBC MySQL (MySQL JDBC
Driver)emBibliotecas (Libraries). Abaixo:

Passo 4: Criao da Aplicao JAVA no NetBeans

Digite os cdigos dos prximos slide para o


evento de cada boto no Jframe:
ATENO: Renomeie os componentes (Boto
direto
do
mouse
sobre
o
componente
noJFrameeAlterar Nome da Varivel
(Change Variable Name)) do painelInserir
Alunoconforme indicado no cdigo abaixo:
Exemplo:
jTextField1parajTextFieldId

Passo 4: Criao da Aplicao JAVA no NetBeans


Evento do Boto Inserir
try {
//Registra JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//Abrindo a conexo: ATENO OS DOIS PARMETROS VAZIOS(" ") SO USURIO E SENHA,
RESPECTIVAMENTE.
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/escola", " ", " ");
//Executa a query de insero
java.sql.Statement st = conn.createStatement();
st.executeUpdate("INSERT INTO aluno (id, nome, cpf) VALUES ("
+ this.jTextFieldId.getText() + ",'"
+ this.jTextFieldNome.getText() + "','"
Devemos importar as
+ this.jTextFieldCPF.getText() + "')");

seguintes classes:
JOptionPane.showMessageDialog(rootPane, "Aluno inserido"); import java.sql.Connection;
import java.sql.DriverManager;
} catch (SQLException | ClassNotFoundException e) {
import java.sql.SQLException;
JOptionPane.showMessageDialog(rootPane, e);
import javax.swing.JOptionPane;
}//Fim try

Passo 4: Criao da Aplicao JAVA no NetBeans

try {

Evento do Boto Atualizar: Esteja atendo


necessidade de mudana das variveis como no caso
acima.
//Registra JDBC driver
Class.forName("com.mysql.jdbc.Driver");

//Abrindo a conexo: ATENO OS DOIS PARMETROS VAZIOS(" ") SO USURIO E SENHA,


RESPECTIVAMENTE.
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/escola", " ", " ");
//Executa a query de atualizao
java.sql.Statement st = conn.createStatement();
st.executeUpdate("UPDATE aluno SET nome='"
+ this.jTextFieldNovoNome.getText() + "',cpf='"
+ this.jTextFieldNovoCPF.getText()
As classes abaixo j foram
+ "' WHERE id='" + this.jTextFieldIdExistente.getText()
+ "'");
importadas?
JOptionPane.showMessageDialog(rootPane, "Aluno atualizado");
} catch (SQLException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(rootPane, e);

import
import
import
import

java.sql.Connection;
java.sql.DriverManager;
java.sql.SQLException;
javax.swing.JOptionPane;

Passo 4: Criao da Aplicao JAVA no NetBeans

try {

Evento do Boto Excluir: Esteja atendo


necessidade de mudana das variveis como no caso
acima.
//Registra JDBC driver
Class.forName("com.mysql.jdbc.Driver");

//Abrindo a conexo: ATENO OS DOIS PARMETROS VAZIOS(" ") SO USURIO E SENHA,


RESPECTIVAMENTE.
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/escola", " ", " ");
//Executa a query de excluso
java.sql.Statement st = conn.createStatement();
st.executeUpdate("DELETE FROM Aluno WHERE id='" + this.jTextFieldIdExclusao.getText() + "'");
JOptionPane.showMessageDialog(rootPane, "Aluno excludo");
} catch (SQLException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(rootPane, e);
}//Fim try

As classes abaixo j foram


importadas?
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

Passo 4: Criao da Aplicao JAVA no NetBeans


Namain()da classe
principalJavaApplicationMySQLComStatementdigite o
cdigo de abertura da janela abaixo e adicione a
importao
ao pacote
erode
o programa
JFrameAluno
jFrameAluno
= new apresentao
JFrameAluno(); //Cria
o objeto
Janela
para ver o resultado. de Alunos"); //Define o ttulo na Janela
jFrameAluno.setTitle("Cadastro

jFrameAluno.setLocationRelativeTo(null); //Coloca a janela no centro da tela


jFrameAluno.setVisible(true); //Mostra a janela

Passo 4: Criao da Aplicao JAVA no NetBeans


Crie, agora, um novo boto chamadoListar noFramee
digite o cdigo abaixo em seu evento.
try {
//Registra JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//Abrindo a conexo: ATENO OS DOIS PARMETROS VAZIOS(" ") SO USURIO E SENHA,
RESPECTIVAMENTE.
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/escola", " ", " ");
//Executa a query de seleo
java.sql.Statement st = conn.createStatement();
st.executeQuery("select * from aluno");
ResultSet rs = st.getResultSet();
//Lista os alunos no console
while (rs.next()) {
System.out.print(rs.getString("Id") + ", ");
System.out.print(rs.getString("Nome") + ", ");
Devemos importar a seguinte
System.out.println(rs.getString("CPF"));
classe:
}
import java.sql.ResultSet;
} catch (SQLException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(rootPane, e);
}//Fim try

Passo 4: Criao da Aplicao JAVA no NetBeans


Veja o resultado do programa com o novo
botoListagemmostrando o resultado no console.

Passo 4: Criao da Aplicao JAVA no NetBeans


Adicione, agora,
um componente
JTable no Frame e
digite o cdigo a
seguir no boto
Listar Todos.

Passo 4: Criao da Aplicao JAVA no NetBeans


Digite o cdigo abaixo no boto Listar Todos.
try {
//Registra JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//Abrindo a conexo: ATENO OS DOIS PARMETROS VAZIOS(" ") SO USURIO E SENHA,
RESPECTIVAMENTE.
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/escola", " ", " ");
//Executa a query de seleo
java.sql.Statement st = conn.createStatement();
st.executeQuery("select * from aluno");
ResultSet rs = st.getResultSet();
//Definir tamanho automtico das colunas no modelo
jTable1.setAutoResizeMode(jTable.AUTO_RESIZE_ALL_COLUMNS);
//Criando um modelo de acordo com a definio da "JTable1"
DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
//Zerar as linhas existentes do modelo
modelo.setNumRows(0);
//Lista os alunos no JTable
while (rs.next()) {
modelo.addRow(new Object[]{
rs.getString("Id"),
rs.getString("Nome"),
rs.getString("CPF")
});
}
} catch (SQLException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(rootPane, e);
}//Fim try

Passo 4: Criao da Aplicao JAVA no NetBeans


Adicione, agora, o cdigo abaixo no boto Consultar.
try {
//Registra JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//Abrindo a conexo: ATENO OS DOIS PARMETROS VAZIOS(" ") SO USURIO E SENHA,
RESPECTIVAMENTE.
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/escola", " ", " ");
//Executa a query de seleo utilizando parmetro enviado pelo usurio
String query = "select * from aluno where nome like ?";
PreparedStatement cmd;
cmd = conn.prepareStatement(query);
cmd.setString(1, "%" + jTextFieldConsultaNome.getText() + "%");
ResultSet rs = cmd.executeQuery();
//Definir tamanho automtico das colunas no modelo
jTable1.setAutoResizeMode(jTable.AUTO_RESIZE_ALL_COLUMNS);
//Criando um modelo de acordo com a definio da "JTable1"
DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
//Zerar as linhas existentes do modelo
modelo.setNumRows(0);
//Lista os alunos no JTable
while (rs.next()) {
modelo.addRow(new Object[]{
rs.getString("Id"),
rs.getString("Nome"),
rs.getString("CPF")
});
}
} catch (SQLException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(rootPane, e);

Passo 4: Criao da Aplicao JAVA no NetBeans


Adicione, agora, o cdigo abaixo no evento MouseClicked do componente JTable.

//Obter o nmero da linha seleciona


int linhaselecionada = jTable1.getSelectedRow();
//Exibir os valores das colunas da tabela nas caixas de texto
jTextFieldIdExistente.setText(jTable1.getValueAt(linhaselecionada, 0).toString());
jTextFieldNovoNome.setText(jTable1.getValueAt(linhaselecionada, 1).toString());
jTextFieldNovoCPF.setText(jTable1.getValueAt(linhaselecionada, 2).toString());

Exerccio prtico
Desenvolver um CRUD para cadastrar os Mdicos;
Desenvolver um CRUD para agendar as consultas;

Pesquise no Google?
Como tratar as excees de chave duplicada na incluso de
dados na tabela?
Como tratar as excees de registro no encontrado na tabela?

Você também pode gostar