java entendendo mvc dao crud interface

18
Curso de Java Entendendo: Padrões MVC e DAO CRUD Interfaces Ministrado por: Mário Sergio email: [email protected] https://www.linkedin.com/profile/view?id=111098029

Upload: mario-sergio

Post on 15-Apr-2017

1.070 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Java Entendendo MVC DAO CRUD INTERFACE

Curso de Java

Entendendo:

Padrões MVC e DAO

CRUD Interfaces

Ministrado por: Mário Sergio email: [email protected] https://www.linkedin.com/profile/view?id=111098029

Page 2: Java Entendendo MVC DAO CRUD INTERFACE

O padrão de projeto MVC Model-view-controller (MVC), em português modelo-visão-controlador, é um padrão de projeto para arquitetura de software que separa a representação da informação da interação do usuário com ele. O modelo (model) consiste nos dados da aplicação, regras de negócios, lógica e funções. Uma visão (view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama. É possível ter várias visões do mesmo dado, como um gráfico de barras para gerenciamento e uma visão tabular para contadores. O controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão.

As ideias centrais por trás do MVC são a reusabilidade de código e separação de lógica, dados e interface com o usuário.

Page 3: Java Entendendo MVC DAO CRUD INTERFACE

MVC – organizando em pacotes JAVA Separação das classes em pacotes JAVA:

Page 4: Java Entendendo MVC DAO CRUD INTERFACE

MVC para uma aplicação JAVA GUI

Page 5: Java Entendendo MVC DAO CRUD INTERFACE

MVC para uma aplicação JAVA WEB

Page 6: Java Entendendo MVC DAO CRUD INTERFACE

MVC para uma aplicação JAVA WEB

Legal! E por que eu trabalharia desta forma? Porque, além de elegante, é profissional! Mas se você não se convenceu com estes argumentos, podemos ter outro: é Seguro! Temos aqui uma separação bem clara entre a Visualização e as Regras de Negócio. Caso você queira modificar uma regra, como um cálculo de juros, você precisaria apenas modificar o seu Model (e espero que em um só local! =) ) e não precisaria se preocupar com a visualização. O mesmo vale para a View. Caso você queira modificar uma tela inteira, não precisaria se preocupar com as regras e sim somente com a tela.

Page 7: Java Entendendo MVC DAO CRUD INTERFACE

CRUD

7

CRUD (acrónimo de Create, Read, Update e Delete na língua Inglesa) para as quatro operações básicas utilizadas em bases de dados relacionais (RDBMS) ou em interface para utilizadores para criação, consulta, atualização e destruição de dados. A abreviação CRUD mapeada para o padrão ISO/SQL: Create INSERT Read (Retrieve) SELECT Update UPDATE Delete DELETE

Page 8: Java Entendendo MVC DAO CRUD INTERFACE

CRUD

8

Page 9: Java Entendendo MVC DAO CRUD INTERFACE

Exemplos de Interfaces CRUD em Java GUI

9

Page 10: Java Entendendo MVC DAO CRUD INTERFACE

Exemplos de Interfaces CRUD em Java GUI

10

Page 11: Java Entendendo MVC DAO CRUD INTERFACE

Exemplos de Interfaces CRUD em Java WEB

11

Page 12: Java Entendendo MVC DAO CRUD INTERFACE

Exemplos de Interfaces CRUD em Java WEB

12

Page 13: Java Entendendo MVC DAO CRUD INTERFACE

Exemplos de Interfaces CRUD em Java WEB

13

Page 14: Java Entendendo MVC DAO CRUD INTERFACE

CRUD EM JAVA Mas, Como fazer o controle CRUD em JAVA ? A grande maioria das aplicações de nível corporativo usam algum tipo de persistência de dados. Entre eles o mais usado é o Banco de Dados. A linguagem SQL é amplamente utilizada para comunicar com os sistemas gerenciadores de banco de dados (SGBD). Java suporta esta necessidade desde cedo através da API JDBC (Java Database Connectivity). Utilizar o padrão de Projeto DAO Esta ideia, inocente à primeira vista, é capaz de isolar todo o acesso a banco de dados em classes bem simples, cuja instância é um objeto responsável por acessar os dados. Da responsabilidade deste objeto surgiu o nome de Data Access Object ou simplesmente DAO, um dos mais famosos padrões de projeto (design pattern).

Page 15: Java Entendendo MVC DAO CRUD INTERFACE

O Padrão DAO DAO (Data Access Object) se refere a classe que irá fazer a comunicação de seu programa com o banco de dados. Esse padrão é muito importante. Ele promove a reutilização de código, também promove a boa manutenção do código pois ele não deixa que o código de acesso ao banco de dados fique misturado com outras partes da aplicação que possuem outros objetivos.

A ideia é manter um espelhamento dos dados que estão em memória (atributos) do seu programa JAVA com os dados persistidos que estão no SGBD.

Primeiro passo: Criação da tabela no banco de dados. Abra seu cliente sql favorito para o seu banco de dados e crie a tabela de produtos. Supondo que você esteja usando o mysql:

Segundo Passo: Criação da classe Modelo que represente essa tabela. Você precisa de uma Classe-Entidade para seu sistema, a fim de desfrutar dos benefícios da orientação a objetos.

Terceiro Passo: Criação da classe JAVA DAO para cada classe do Modelo DAO (Data Access Object) se refere a classe que irá fazer a comunicação de seu sistema com o banco de dados. Essa classe precisa dispor de métodos para fazer o CRUD, geralmente definidos por uma INTERFACE EM JAVA.

public class Produto { private int id; private String nome; private String descricao; ......

CREATE TABLE `produto` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `nome` text NOT NULL, `descricao` text NOT NULL, PRIMARY KEY (`id`)

public interface DAO<T> { T create () ; void insert ( <T> obj ) ; void update ( <T> obj ) ; void delete ( <T> obj ) ; List<T> select() ; }

Page 16: Java Entendendo MVC DAO CRUD INTERFACE

A Interface DAO INTERFACE EM JAVA:

Uma INTERFACE em JAVA é um CONTRATO que o projetista de classes assina, garantindo que sua classe ofereça todos os métodos da interface. Uma interface é como se fosse uma classe abstrata somente com métodos abstratos (sem corpo).

Aqui temos uma classe que implementa a interface InterfaceCrudDAO, obrigando-se a implementar todos os métodos previstos pela interface. Obs: código completo, no pacote modeloDAO de exemplo de aula

Page 17: Java Entendendo MVC DAO CRUD INTERFACE

Referências

http://www.javabuilding.com/academy/patterns/dao.html http://programadorprofissional.blogspot.com.br/2012/09/crud-no-banco-de-dados-com-java-e-jdbc.html https://pt.wikipedia.org/wiki/MVC http://www.k19.com.br/artigos/mvc-simples-e-pratico-parte-i/ http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/arqu/mvc/mvc.htm

Page 18: Java Entendendo MVC DAO CRUD INTERFACE

Sugestão de Material

http://www.dialetodigital.com/blog/conteudos-programacao/