mvc, jdbc e banco de dados - vpcamargo.com.br … · mvc, jdbc e banco de dados • para...

25
MVC, JDBC e Banco de Dados Professor Dr. Vicente Paulo de Camargo

Upload: others

Post on 06-May-2020

4 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

Professor Dr. Vicente Paulo de Camargo

Page 2: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

• Destaca-se nesses slides informações sobre a parte de persistência de dados com a linguagem Java

• Para se Conectar com um banco de dados utiliza-se a biblioteca JDBC (Java Database Connectivity)

• Em Java, cada banco de dados possui um arquivo de conexão compatível com a biblioteca JDBC (biblioteca com extensão .jar)

• Esse arquivo, com extensão .jar, deve ser inserido no projeto para que a conexão com o respectivo banco de dados possa ocorrer satisfatoriamente

Page 3: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

• Para facilitar, abra o Eclipse e crie o projeto web SistemaEstoque

• Para esse projeto será utilizado a plataforma MySQL de banco de dados

• Após criar o projeto, crie o pacote br.edu.pucgoias.sistemaestoque.dao

• Crie a classe BaseDao.java e digite o próximo trecho de código para esse classe

Page 4: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosLinha 12: Estabelece a conexão com o driver do banco de dadosLinha 24: Faz a conexão com o banco de dados indicado na url e conforme usuário e senha definidosLinha 34: Tenta efetuar conexão com o banco de dados. Linha 37: Se conectar, apresenta mensagem afirmativaLinha 39: Se não conectar, apresenta mensagem negativa

O método main está sendo usado aqui apenas para que se possa testar a conexão com o banco de dados, usando System.out.print

Page 5: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

• O driver de conexão dos principais bancos de dados são encontrados na Internet

• Procure pelo driver de conexão do MySQL como MySQL JDBC connector

• Efetue o download do arquivo, geralmente compactado

• Descompacte esse arquivo

• Utilize apenas o arquivo com extensão .jar, cujo nome é formado como mysql-conector-java-x.x.xx-bin.jar, onde x.x.xx é a versão

Page 6: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados• Com o Eclipse aberto, acesse o projeto SistemaEstoque, dê um clique

com o botão direito sobre o nome desse projeto, como indicado a seguir

1

2

Selecione Build Path

Page 7: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados1

Selecione AddExternalJARs...

2

Selecione o driver

desejado

Page 8: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

O driver será inserido na

aba Librariesdo projeto

Em seguida, confirme em

Apply andClose

O driver do MySQL

inserido na biblioteca do

projeto

Page 9: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

Esse procedimento funcionabem para aplicaçõesdesktop (Java console, JavaSwing e JavaFX). Paraaplicações Web deve-secopiar o arquivo jar doconector do banco de dadospara o diretórioWebContent/WEB-INF/lib

Page 10: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados• Para administrar o banco de dados e manipular seus dados utilize um

dos programas HeidiSQL ou Dbeaver. O HeidSQL permite acessar os SGBDs MySQL, MariaDB, MS SQL Server e PostgreSQL. O Dbeaverpermite acessar a maioria dos SGBDs do mercado mundial.

• Efetue o download de um desses programas

• Para servidor de banco de dados MySQL utilize um dos programas, WampServer ou Xampp (ou instale apenas o MySQL). Ou, se desejar, o PostgreSQL.

• Assim, instale o programa desejado para que seja o servidor do seu banco de dados

• O servidor do banco de dados sempre deve estar ativo para que se possa efetuar a devida conexão com os seus banco de dados

• Esses programas são open source

Page 11: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosUSANDO MYSQL E HEIDSQL• Ative o seu servidor MySQL• Abra o HeidSQL e crie o banco de dados sistema_estoque_web

Botão direito sobre o nome da conexão

Na nova janela informe o nome do banco de dados e selecione a opção latin1_general_ci e confirme

Page 12: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

• Ou:• Abra o HeidSQL, acesse a aba consulta• Digite create database sistema_estoque_web

Selecione esse ícone para executar ou pressione F9

Page 13: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

• Com o Eclipse aberto• Acesse o projeto SistemaEstoque• Dê um clique com o botão direito sobre a classe BaseDao.java• Observe os passos a seguir:

1

3

A conexão está ok

4

Execute a classe

2

Page 14: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosCrie a classe bean Estoque.java ( com getters/setters), com os atributos: id (int), descricao(String), quantidade(double) e precounit(double), no pacote modelo (br.edu.pucgoias.sistemaexemplo.modelo)

Para criar o método toString, posicione o cursor no final da classe Estoque.java e acesse a opção source>Generate toString... no Eclipse

Page 15: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

Crie a tabela estoque no banco de dados sistema_estoque_web com a estrutura:

Campo Tipo observação

id int Primary key, auto_increment

descricao varchar(50)

precounit double

quantidade double

Page 16: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosCrie a classe de persistência EstoqueDao.java no pacote dao(br.edu.pucgoias.sistemaexemplo.dao)

DAO (Data Access Object, Objeto de Acesso a Dados) é um padrão de nomenclatura para classes que executam scripts SQL em uma base de dados. Esse padrão faz parte do núcleo de padrões JEE da Sun/Oracle.

Page 17: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosEstoqueDao.java (cont.)

Page 18: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosEstoqueDao.java (cont.)

Page 19: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosEstoqueDao.java (cont.)

Page 20: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosEstoqueDao.java (cont.)

Page 21: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosComplete a classe Estoque.Dao, com o seguinte trecho:

Page 22: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de Dados

Crie o pacote br.edu.pucgoias.sistemaestoque.controle

Crie a classe EstoqueControle.java

Esta classe efetuará a intermediação entre a camada de visão e a de persistência

Page 23: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosEstoqueControle.java

Page 24: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

MVC, JDBC e Banco de DadosATIVIDADE PRÁTICA 02•Desenvolva uma aplicação orientada a objetos com o uso do padrão MVC. Essaaplicação deve efetuar um CRUD (Create=Incluir, Read=Consultar, Update=Alterar,Delete=Excluir) que deve utilizar, no mínimo, duas tabelas em banco de dados relacional,sendo que uma das tabelas deve possuir chave estrangeira da outra (tabela principal).Utilizar a entrada e a saída de dados via console ou via JOptionPane. Criar os devidospacotes que permitam simular o correto funcionamento de uma aplicação usando MVC.Detalhes:•A)Utilizar collection como retorno de objetos de uma consulta•B)O sistema não deve permitir a inclusão de informações repetidas•C)Apresentar menu para efetuar os cadastros separados para cada tabela•D)Deve-se criar DAO específica para cada uma das classes existentes, sendo que deve-seter o cuidado de incluir primeiro os dados da tabela principal e depois incluir os dadosda tabela secundária•E) O sistema deve apresentar mensagens informando erros ou confirmações das açõesefetuadas como inclusão, alteração e exclusão, inclusive informar se uma informação jáestá cadastrada no sistema, antes de incluir•F)Efetuar consultas por chave numérica e por algum campo String. Se a pesquisa não forinformada (ficando em branco ou zero), retornar a lista de todos os registros para que sepossa selecionar um para se alterar ou excluir os respectivos dados.

Page 25: MVC, JDBC e Banco de Dados - vpcamargo.com.br … · MVC, JDBC e Banco de Dados • Para administrar o banco de dados e manipular seus dados utilize um dos programas HeidiSQL ou Dbeaver

FIM

MVC, JDBC e Banco de Dados