Você está na página 1de 21

DISCIPLINA: LINGUAGEM E TECNICAS DE PROGRAMAÇÃO I JAVA SE PROFESSOR: JUNIO FIGUEIREDO

ALUNO(A):

Exercício de Java

Utilizando o Eclipse:

JDBC Java DataBase Conection

1. Java Database Connectivity ou JDBC é um conjunto de classes e interfaces 1 (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional;

java.sql
java.sql
JAVA Driver JDBC DB
JAVA
Driver JDBC
DB
MySQL Connector/J
MySQL
Connector/J

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

2. Agora vamos configurar o driver de comunicação do Mysql com Java.

configurar o driver de comunicação do Mysql com Java. Configuração do driver JDBC do MySQL 1

Configuração do driver

JDBC do MySQL

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

Acesse o endereço http://dev.mysql.com/downloads/connector/j/

Obs. A versão atual do MySQL é: 5.1.44

Clique em

Obs. A versão atual do MySQL é: 5.1.44 Clique em Na próxima pagina clique em :
Obs. A versão atual do MySQL é: 5.1.44 Clique em Na próxima pagina clique em :

Na próxima pagina clique em :

MySQL é: 5.1.44 Clique em Na próxima pagina clique em : Em alguns instantes é realizado

Em alguns instantes é realizado o download.

Fica o seu critério, o local, para descompactar o conector.

Vamos configurar o Eclipse para utilizar o MySQL

Abra o eclipse

Crie um Projeto com o seguinte nome JDBCMySQL.

Clique com no projeto com o botão direito, escolha properties

Selecione do lado direito da Janela a opção Java Build Path e a aba Libaries

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

Localizando o arquivo do MySQL Clique com o botão direito na opção Add External JARs

Localizando o arquivo do MySQL

Localizando o arquivo do MySQL Clique com o botão direito na opção Add External JARs .

Clique com o botão direito na opção Add External JARs.

Clique em Open e localize o

opção Add External JARs . Clique em Open e localize o arquivo 1 – Interfaces -

arquivo

Add External JARs . Clique em Open e localize o arquivo 1 – Interfaces - define

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

Verifique se o arquivo aparece em Libaries, conforme figura abaixo:

se o arquivo aparece em Libaries , conforme figura abaixo: Clique no botão OK Verifique o

Clique no botão OK

Verifique o projeto no eclipse.

abaixo: Clique no botão OK Verifique o projeto no eclipse. Finalizamos a configuração do driver do

Finalizamos a configuração do driver do MySQL.

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

3.

Abra o MySQL Workbench e crie um Banco de Dados chamado livraria

4. Vamos criar uma tabela chamada de editora

livraria 4. Vamos criar uma tabela chamada de editora Clique no botão Apply Ou O comando

Clique no botão Apply

Ou

O comando de criar tabela

CREATE TABLE livraria.editora( idEditoraINT NOT NULL AUTO_INCREMENT, nomeVARCHAR(100) NULL, emailVARCHAR(100) NULL, PRIMARY KEY (idEditora));

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

5. No eclipse, crie um pacote chamado de jdbc.util, em seguida crie uma classe chamada de

ConnectionFactory.

DriverManager,criar uma instância da conexão como banco de dados.

O método responsável pela criação dessa instância é :

getConnection(Stringurl,Stringusuario,Stringsenha);

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;

import javax.swing.JOptionPane;

public class ConnectionFactory {

public static Connection createConnection() { String stringDeConexao =

"jdbc:mysql://localhost:3306/livraria";

String usuario = "root"; String senha = "";//coloque a senha do seu BD

Connection conexao = null;

try { conexao = DriverManager. getConnection (stringDeConexao, usuario, senha); } catch (SQLException e) { JOptionPane.showMessageDialog ( null , "Não Foi Possivel Realizar Conexão com o BD ");

}

return conexao;

}

}

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

6.

Vamos testar a conexão

public static void main(String[] args) {

new ConnectionFactory(). createConnection ();

JOptionPane.showMessageDialog (null, "Conexao realizada!!!");

}

7. Crie uma pacote chamado de jdbc.modelo com uma classe chamada de Editora.

public class Editora {

private Long idEditora; private String nome; private String email;

// Gerar Getters e Setters

}

8. Vamos serializar

public class Editora implements Serializable {

/**

*

*/ private static final long serialVersionUID = 1L;

private Long idEditora; private String nome; private String email;

}

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

9. Vamos ampliar o nosso conhecimento, trabalhando com MVC 10. Crie um pacote chamado jdbc.dao e uma classe chamada de EditoraSalvar.

A criação do Statement é necessária para que possamos executar os comandos SQL diretamente no banco de dados.

Os métodos do Statement utilizados para executar os comandos SQL são:

execute() // Método retorna um booleano executeUpdate() // Retorna um inteiro. (número de linhas). executeQuery().//Retorna junto com o ResultSet o resultado da consulta.

//Retorna junto com o ResultSet o resultado da consulta. 11. Pode copiar import java.sql.Connection; import

11. Pode copiar

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException;

import jdbc.modelo.Editora; import jdbc.util.ConnectionFactory;

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

public class EditoraSalvar { private Connection conexao; PreparedStatement stmt;

public EditoraSalvar() { this .conexao =

ConnectionFactory. createConnection ();

}

public void salvar(Editora editora){

try { String sql = "Insert into editora(nome, email)" + " values(?,?) ";

stmt = conexao.prepareStatement(sql);

stmt.setString(1,editora.getNome());

stmt.setString(2,editora.getEmail());

stmt.execute();

stmt.close();//esse método retorna um

boolean

conexao.close();

} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace();

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

}

}

}

12. Crie um pacote chamado jdbc.visao e uma classe chamada de TestaEditora.

import jdbc.dao.EditoraSalvar; import jdbc.modelo.Editora;

public class TestaEditora {

public static void main(String[] args) {

Editora editora = new Editora();

editora.setNome(JOptionPane. showInputDialog ("Infor me o Nome da Editora "));

editora.setEmail(JOptionPane. showInputDialog("Info rme o Email da Editora "));

EditoraSalvar editorasalvar = new EditoraSalvar(); editorasalvar.salvar(editora);

JOptionPane. showMessageDialog (null, "Operação Realizada com Sucesso!!");

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

}

}

13. Crie dentro do pacote jdbc.Dao uma classe chamada de EditoraListar.

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;

import jdbc.modelo.Editora; import jdbc.util.ConnectionFactory;

public class EditoraListar {

private Connection conexao; PreparedStatement stmt; ResultSet resultado;

public EditoraListar() { this.conexao =

ConnectionFactory. createConnection ();

}

public List<Editora> listar() { List<Editora> lista = new ArrayList<Editora>(); try { stmt = conexao.prepareStatement("Select * from Editora");

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

resultado = stmt.executeQuery();

while (resultado.next()) { Editora editora = new Editora();

editora.setIdEditora(resultado.getLong(1));

editora.setNome(resultado.getString(2));

editora.setEmail(resultado.getString(3));

lista.add(editora);

}

stmt.close();

resultado.close();

conexao.close();

} catch (SQLException e) { e.printStackTrace();

}

return lista;

}

}

14. No Pacote jdbc.visao crie uma classe chamada de TestaListarEditora

import java.util.List;

import jdbc.dao.EditoraListar; import jdbc.modelo.Editora;

public class TestaListaEditora {

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

public static void main(String[] args) {

EditoraListar editoralistar = new EditoraListar(); List<Editora> lista = editoralistar.listar();

for (Editora e : lista) { System. out.println("Editora :" +

e.getIdEditora() + " - " + e.getNome() + " - " + e.getEmail());

}

}

}

15. Crie dentro do pacote jdbc.Dao uma classe chamada de EditoraAlterar

package jdbc.dao;

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException;

import jdbc.modelo.Editora; import jdbc.util.ConnectionFactory;

public class EditoraAlterar {

private Connection conexao; PreparedStatement stmt;

public EditoraAlterar() {

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

this .conexao = ConnectionFactory. createConnection ();

}

public void alterar(Editora editora){

try { String sql = "Update editora set nome = ?, email = ? where idEditora = ?";

stmt = conexao.prepareStatement(sql);

stmt.setString(1,editora.getNome());

stmt.setString(2,editora.getEmail());

stmt.setLong(3,editora.getIdEditora());

stmt.execute();

stmt.close();//esse método retorna um

boolean

conexao.close();

} catch (SQLException e) { e.printStackTrace();

}

}

.

}

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

16. No Pacote jdbc.visao crie uma classe chamada de TestaAlterarEditora

package jdbc.visao;

import java.util.List;

import jdbc.dao.EditoraAlterar; import jdbc.dao.EditoraListar; import jdbc.modelo.Editora;

public class TestaAlterarcao {

public static void main(String[] args) { Editora editora = new Editora(); //Alterando o Codigo 2

editora.setIdEditora(2l);

editora.setNome("Saraiva");

editora.setEmail("saraiva@saraiva.com");

//Chamada do método para alterar EditoraAlterar alterar = new EditoraAlterar(); alterar.alterar(editora); System. out.println("Operação Realizada Com Sucesso!!");

// Listando a Editora EditoraListar editoralistar = new EditoraListar(); List<Editora> lista = editoralistar.listar();

for (Editora e : lista) {

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

System. out.println("Editora :" + e.getIdEditora() + " - " + e.getNome() + " - " + e.getEmail());

}

}

}

16.Vamos

testar o alterar, Crie dentro do pacote jdbc.Visao uma classe chamada de

TestaAlterarcao

package jdbc.visao;

import java.util.List;

import jdbc.dao.EditoraAlterar; import jdbc.dao.EditoraListar; import jdbc.modelo.Editora;

public class TestaAlterarcao {

public static void main(String[] args) { Editora editora = new Editora(); //Alterando o Codigo 2

editora.setIdEditora(2l);

editora.setNome("Saraiva");

editora.setEmail("saraiva@saraiva.com");

//Chamada do método para alterar EditoraAlterar alterar = new EditoraAlterar(); alterar.alterar(editora);

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

System. out.println("Operação Realizada Com Sucesso!!");

// Listando a Editora EditoraListar editoralistar = new EditoraListar(); List<Editora> lista = editoralistar.listar();

for (Editora e : lista) { System. out.println("Editora :" +

e.getIdEditora() + " - " + e.getNome() + " - " + e.getEmail());

}

}

}

16.Para Finalizar o CRUD, vamos criar dentro do pacote jdbc.DAO uma classe chamada de EditoraExcluir.

package jdbc.dao;

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException;

import jdbc.modelo.Editora; import jdbc.util.ConnectionFactory;

public class EditoraExcluir { private Connection conexao; PreparedStatement stmt;

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

public EditoraExcluir() { this .conexao =

ConnectionFactory. createConnection ();

}

public void excluir( int id){

try { String sql = "Delete from editora where idEditora = ? ";

stmt = conexao.prepareStatement(sql);

stmt.setLong(1,id);

stmt.execute();

stmt.close();//esse método retorna um

boolean

conexao.close();

} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace();

}

}

}

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

17.Vamos

testar o excluir, Crie dentro do pacote jdbc.Visao uma classe chamada de

TestaExcluisao.

package jdbc.visao;

import java.util.List;

import jdbc.dao.EditoraAlterar; import jdbc.dao.EditoraExcluir; import jdbc.dao.EditoraListar; import jdbc.modelo.Editora;

public class TestaExclusao {

public static void main(String[] args) {

//Chamada do método para excluir EditoraExcluir excluir = new EditoraExcluir(); //Já Passando o código da editora para exclusao

excluir.excluir(2);

System. out.println("Operação Realizada Com Sucesso!!");

// Listando a Editora EditoraListar editoralistar = new EditoraListar(); List<Editora> lista = editoralistar.listar();

for (Editora e : lista) { System. out.println("Editora :" + e.getIdEditora() + " - " + e.getNome() + " - " + e.getEmail());

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente

}

}

}

Exercício: JDBC e MySQL

Crie uma Banco de Dados chamado de Tarefa, com a seguinte tabela produto

ATRIBUTO

TIPO

NULO

DESCRIÇÃO

DOMÍNIO

 

ÍNDICE

PRI

EST

CAN

codigo

int

não

Código do produto

 

x

   

nome

varchar(40)

não

Nome do produto

     

x

descrição

varchar(45)

não

Descrição do produto

       

venda

DECIMAL(6,2)

não

Preço de venda

       

custo

DECIMAL(6,2)

não

Preço de custo

       

quantest

int

não

Quantidade em estoque

       

Você deverá criar o programa para Alterar e Excluir

Que a Força Esteja com Você

1 Interfaces - define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente