Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Anúncio

Último(20)

Anúncio

Curso de Java (Parte 5)

  1. Curso de Java PARTE 05 Persistência de Dados Introdução à: JDBC Maven CRUD Padrão DAO JPA/Hibernate por: Mário Sergio mariosergio30@gmail.com linkedin.com/in/mario-sergio-a1125831
  2. 2 Aula 1 O EcoSistema JAVA JSE Libraries J2EE Especification https://tableless.com.br/java-o-caminho-aprendizado/?utm_source=tablelessRelatedLinkSaber mais: Relembrando…
  3. 3 JDBC
  4. JDBC 4 É essencial que qualquer linguagem de programação faça acesso aos diversos bancos de dados disponíveis no mercado, principalmente no desenvolvimento de sistema corporativos. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.DriverManager; Driver´s específicos Saber mais: https://www.devmedia.com.br/aprendendo-java-com-jdbc/29116
  5. Projetos de Exemplo JDBC BÁSICO: https://github.com/mariosergio30/aprendendoPersistencia_1JDBC.git JDBC COM DAO: https://github.com/mariosergio30/https://github.com/mariosergio30/aprendendoPersistencia_2DAO JPA: https://github.com/mariosergio30/aprendendoPersistencia_3JPA.git
  6. 6 Exemplo de uso: Conexão ao banco Importando classes do pacote java.sql JDBC
  7. 7 Exemplo de uso: Instrução INSERT Instrução SELECT (ResultSet) A classe ResultSet respresenta uma Matriz contendo as colunas e linhas resultantes da consulta select JDBC
  8. 8 JDBC Exemplo completo: projeto Eclipse aprendendoPersistencia01_JDBC.zip (Classe Application)
  9. Projeto de exemplo: Importando um Projeto .ZIP no Eclipse 9 OBS: importação do projeto de Exemplo: startJavaPersistencia01_JDBC.zip
  10. Ferramenta SQL 10 Ferramenta Heidisql SQL https://www.heidisql.com/download.php OBS: Execute os scripts DDL e DML do projeto de exemplo
  11. Ferramenta SQL 11 Ferramenta Heidisql SQL https://www.heidisql.com/download.php OBS: Execute os scripts DDL e DML do projeto de exemplo
  12. Projeto de exemplo: Executando 12OBS: Executar método main da classe Application
  13. Maven Um dos principais problemas no desenvolvimento de sistemas é como fazer com que toda a equipe construa o artefato final da mesma maneira com as bibliotecas e configurações corretas. 13 O Maven é uma ferramenta de integração de projetos. Com ele fica mais fácil: - Gerenciar dependências (bibliotecas externas) - Controlar versão de artefatos - Integrar múltiplos módulos de uma aplicação. Saber mais: http://www.dclick.com.br/2010/09/15/o-que-e-o-maven-e-seus-primeiros-passos-com-a-ferramenta/
  14. Maven 14 O arquivo .pom
  15. 15 Maven Repositório central de dependências: https://mvnrepository.com/
  16. Maven 16 Verificando configuração no Eclipse: As versões atuais do eclipse já possuem uma instalação do maven embutida, mas se desejar você poderia utilizar outra versão do maven previamente existente em outro local em seu computador.
  17. Maven: Baixar e instalar 17 Baixar e instalar: https://maven.apache.org/ OBS: somente necessário se você não desejar utilizar instalação do maven embutida no eclipse
  18. Eclipse: Criando um novo projeto Maven 18 File -> New -> Other...
  19. Eclipse: Criando um novo projeto Maven 19 Projeto criado pelo maven: <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> </dependencies> Assim, você poderia importar as dependências para usar o driver JDBC do MySQL
  20. 20 Alguns recursos úteis em projetos Maven: Eclipse: Update de projeto Maven
  21. CRUD 21
  22. Exemplos de Interfaces CRUD em Java GUI 22
  23. Exemplos de Interfaces CRUD em Java WEB 23
  24. 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).
  25. 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 promove a reutilização de código, também promove a boa manutenção do código pois ele isola o código de acesso ao banco de dados das regras de negócio. 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 Entidade 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 modelo 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() ; }
  26. O Padrão 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
  27. O Padrão DAO PROJETO EXEMPLO: Exemplo completo: projeto Eclipse aprendendoPersistencia02_DAO.zip (Classe Application)
  28. JPA - JAVA PERSISTENCE API Saber mais: https://www.caelum.com.br/apostila-java-web/uma-introducao-pratica-ao-jpa-com-hibernate/ MAPEAMENTO OBJETO RELACIONAL Com a popularização do Java em ambientes corporativos, logo se percebeu que grande parte do tempo do desenvolvedor era gasto na codificação de queries SQL e no respectivo código JDBC responsável por trabalhar com elas. Além de um problema de produtividade, algumas outras preocupações aparecem: SQL que, apesar de ter um padrão ANSI, apresenta diferenças significativas dependendo do fabricante. Não é simples trocar um banco de dados pelo outro. A ideia é que o programador não precise escrever código SQL em no código java. O Hibernate abstrai o seu código SQL, toda a camada JDBC e o SQL será gerado em tempo de execução. Hibernate é uma ferramenta open source e é a líder de mercado, sendo a inspiração para a especificação Java Persistence API (JPA)
  29. JPA - JAVA PERSISTENCE API Saber Mais: https://examples.javacodegeeks.com/enterprise-java/jpa-named-query-example/ J2EE Especification Hibernate é uma das implementações dessa API http://hibernate.org/
  30. Maven: Inclusão de dependências do JPA Hibernate 30
  31. Maven: Inclusão de dependências do JPA Hibernate 31 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>projetos</groupId> <artifactId>aprendendoJDBC</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <mysql.version>5.1.6</mysql.version> <hibernate.version>4.1.1.Final</hibernate.version> </properties> <dependencies> <dependency> <groupId>oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.1.0.7.0</version> <scope>system</scope> <systemPath>C:fontescursoojdbc6.jar</systemPath> </dependency> <!-- Hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency> <dependency> <groupId>org.hibernate.common</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>4.0.1.Final</version> <classifier>tests</classifier> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency> </dependencies> </project> pom.xml completo: pacotes baixados pelo maven
  32. JPA - JAVA PERSISTENCE API Exemplo completo: projeto Eclipse aprendendoPersistencia03_JPA.zip (Classe Application) 32
  33. JPA - JAVA PERSISTENCE API Exemplo completo: projeto Eclipse aprendendoPersistencia.zip (Classe AprendendoJDBC_JPA) Classe Modelo: Disciplina.java (Representa a ENTIDADE do Hibernate) Queries Nomeadas: queries.xml Classe DAO: DisciplinaDAO.java 33
  34. Obrigado 34
Anúncio