Download - Java Entendendo MVC DAO CRUD INTERFACE
![Page 1: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/3.jpg)
MVC – organizando em pacotes JAVA Separação das classes em pacotes JAVA:
![Page 4: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/4.jpg)
MVC para uma aplicação JAVA GUI
![Page 5: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/5.jpg)
MVC para uma aplicação JAVA WEB
![Page 6: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/8.jpg)
CRUD
8
![Page 9: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/9.jpg)
Exemplos de Interfaces CRUD em Java GUI
9
![Page 10: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/10.jpg)
Exemplos de Interfaces CRUD em Java GUI
10
![Page 11: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/11.jpg)
Exemplos de Interfaces CRUD em Java WEB
11
![Page 12: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/12.jpg)
Exemplos de Interfaces CRUD em Java WEB
12
![Page 13: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/13.jpg)
Exemplos de Interfaces CRUD em Java WEB
13
![Page 14: Java Entendendo MVC DAO CRUD INTERFACE](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052514/58f1558c1a28abc4468b45df/html5/thumbnails/18.jpg)
Sugestão de Material
http://www.dialetodigital.com/blog/conteudos-programacao/