You are on page 1of 19
2904/2021 \ersdo para impress - BANCO DE DADOS Catdlica z\9) fe Catoica de Brasila, BANCO DE DADOS hitpsiconteuso catolca edu.briconteuds/unileste_cursos/dsciplinasinucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18... 1/19 2904/2021 \ersdo para impress - BANCO DE DADOS ary EA ©2018 Copyright ©Catélica EAD. Ensino a distancia (EAD) com a qualidade da Universidade Catélica de Brasilia Apresentacao 9 Old, seja bem-vindo(a)! Serio abordados pontuais conceitos referentes a persisténcia de dados e sua importéncia no processo de desenvolvimento de sistemas. Também serao apresentadas as principais caracteristicas do JDBC, a composigao de sua arquitetura e a importancia dos drivers no processo do cliente com aplicagao para persistir os dados no banco. De forma objetiva, o contetido enfatizara sobre Java Persistence API (JPA) - um Framework designado para gerir a camada de persisténcia - suas caracteristicas e outras vantagens atribuidas ao seu uso. Além disso, evidenciard o padrao DAO e seu funcionamento Para melhor organizagao e compreensao, os contetidos estao subdivididos em topicos: + Persisténcia em Banco de Dados. + JDBC, + Java Persistence API (JPA) + DAO. Objetivos + Entender como banco de dados funciona eo que é persisténcia. + Conhecer as principais caracteristicas da API JDBC. + Compreender como funciona e criar 0 padrao DAO hitpsiconteuso catolica edu briconteudosiunileste_cursos/dsiplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18.... 2/19 2904/2021 \ersdo para impress - BANCO DE DADOS ary EA ©2018 Copyright ©Catélica EAD. Ensino a distancia (EAD) com a qualidade da Universidade Catélica de Brasilia Desafio | Leia: “Tecnologia Java no desenvolvimento de Sistema de Vendas para Controle de Caixa e Estoque [. 0 artigo apresenta as etapas realizadas para o desenvolvimento de um sistema que tem como objetivo 0 gerenciamento de vendas, de funciondrios e de produtos de uma empresa. Para o desenvolvimento do software, empregaram os padrées Modet ViewController (MVC) e Data access object (DAO), a linguagem de programacao Java aliada aos Frameworks Hibernate e JasperReports e o banco de dados MySQL. Apés a leitura: + Faga uma listagem das tecnologias apresentadas e as que foram adotadas no desenvolvimento do sistema e suas contribuigdes. + Escreva um texto (com no minimo 8 linhas e no maximo 15) apresentando seu conhecimento sobre como foi utilizado 0 padrao DAO no sistema exposto. hitps:iconteuso catolica edu briconteudosiunileste_cursos/dsciplinasinucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18.... 3/19 2904/2021 \ersdo para impress - BANCO DE DADOS ary EA ©2018 Copyright ©Catélica EAD. Ensino a distancia (EAD) com a qualidade da Universidade Catélica de Brasilia Contetdo & Persisténcia em Banco de Dados Ao longo do tempo, as aplicacées foram construidas usando duas tecnologias diferentes: a programagao orientada a objetos para a ldgica de negécio e as bases de dados relacionais para 0 armazenamento de dados (RUSSELL MR, 2008). Essas ndo so as Unicas tecnologias usadas. Existem as aplicagdes procedurais, por exemplo, e banco de dados orientados a objetos, além de outras formas de armazenamento, como arquivos textos e formatados, por exemplo, em XML (Extensible Markup Language) Merece destaque a camada de persisténcia que comanda e gerencia o sistema de banco de dados. Ela é responsdvel por armazenar e manipular dados do banco (BAUER; KING Pl 2007), E importante abordar 0 conceito de bancos de dados como uma colegao de dados ou um sistema com uma composigao regular que organiza e registra os dados, permitindo gerar informacdes. Um Banco de Dados Relacional ¢ um sistema que possibilita 0 armazenamento de dados fundamentado nos relacionamentos entre elementos de dados, procurando uma normalizacao sem redundancias dos dados O sistema que possibilita o gerenciamento de banco de dados ¢ conhecido como SGBD. O CRUD é uma colegao de software que permite operagdes, como consulta, criagao, exclusio e atualizago. Alguns SGDBs que realizam a gestao de banco de dados encontrados no mercado sao: MySQL, Oracle, Postgres no paradigma relacional e MongoDB, Cassandra e DynamoDB no paradigma NoSdL. 0 armazenamento confidvel e coerente das informages em um sistema de armazenamento de dados (SGBD) é chamado de Persisténcia de Dados. E possivel, ainda, acrescentar no conceito geral de persisténcia de dados as operacées de consulta e excluso realizadas. Estas ages so referentes, respectivamente, a consulta e & remogao de dados persistidos. A persisténcia é comumente relacionada aos bancos de dados, principalmente aos bancos relacionais devido a frequéncia de sua utilizacdo. No entanto, ela também pode ser usada em outros formatos de bancos, como os orientados a objetos, em que o armazenamento hitps:iconteuso catolca edu.briconteudosiunileste_cursos/dsiplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18... 4/19 2apouan2t Versio para impress - BANCO DE DADOS ocorre na forma de objetos . Para o armazenamento em bancos de dados relacionais, é comum 0 uso da linguagem SQL (Structured Query Language). De acordo com Dallacqua (2009), a SQL possui duas divisdes principais: + ADML (Data Manipulation Language, ou Linguagem de Manipulagao de Dados) ¢ usada para manipular e recuperar dados por meio de comandos, como select, insert, update e delete. + Ea DDL (Data Definition Language, ou Linguagem de Definigao de Dados) ¢ utilizada para criar e alterar a estrutura dos elementos de um banco de dados por meio de comandos, como create, altere drop. Com os crescentes avangos no desenvolvimento dos sistemas existentes em paralelo & necessidade de persistir e recuperar dados presentes nas aplicacdes, isso nao seria diferente para as aplicagées criadas em Java. Vale lembrar que existem varias opgdes disponiveis para o desenvolvedor escolher como realizar a implementagao da logica de persisténcia. Algumas opgées sao: JDBC, Entity Beans (plataforma JEE), Java Data Objects (JDO), Frameworks de persisténcia (TopLink, Hibernate ou outros), Java Connector Arquitecture (JCA) e Stored Procedures. Outro ponto pertinente é o tipo de banco de dados que seré usado. Cumpre destacar que j4 esto disponiveis no mercado os tipos, como bancos relacionais, objeto-relacionais, orientados a objetos, XML e outros. Magalhaes (2003) alerta que a decisao de escolha deve ser bem avaliada, pois influenciard na escolha da tecnologia de persisténcia. JDBC E uma AP! que possibilita o uso de comandos SQL em métodos da linguagem de programagao Java. Sao fungdes da JDBC: acessar a diversos tipos de bancos de dados usando a mesma APIe possibilitar que, a partir de um Serviet ou uma pagina JSP, tenha acesso direto ao banco de dados. A JDBC possui duas partes: uma interface em nivel de aplicagao usando componentes da aplicagao para acesso ao banco de dados e outra do provedor de servico, responsavel por ter um driver JDBC para a plataforma Java EE (JENDROCK et al. WR, 2013) Conhega as principais caracteristicas de JDBC: Pacote padrao: java.sql + Amaioria dos fornecedores de SGBD disponibiliza uma implementacao especifica, um Driver para seu SGBD, sempre implementando a interface. hitpsiconteuso catolica edu.briconteudosiunileste_cursos/dsciplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18.... 5/19 2904/2021 \ersdo para impress - BANCO DE DADOS Obtém acesso direto ao banco de dados por meio de aplicagdes Java. Portabilidade. AP| independente do Banco de Dados utilizado. Possibilita independancia no desenvolvimento de aplicagées, independente do banco de dados selecionado para trabalhar. A figura 1 apresenta uma arquitetura do JDBC. Figura 1 - Arquitetura JOBC Fonte: elaborada pela autora, 2020. Aarquitetura JDBC é composta das seguintes etapas: primeiro, na aplicago cliente, deve-se baixar e habilitar o driver JDBC C. Em seguida, deve-se iniciar uma conexéo entre a aplicagao cliente e servidor do banco de dados. Logo apés, elaborar, executar a consulta SQL Ge realizar no cliente o processo do resultado @' da consulta. Assim, percebe-se que a API JDBC é formada por responsabilidades importantes, como a de estabelecer a conexao com 0 SGBD e realizar o envio dos comandos SQL. Além disso, também recebe e processa os resultados obtidos. Vale destacar a importancia dos drivers nesse processo do cliente com aplicacao para persistir os dados no banco. Conhega alguns bancos de dados com os seus receptivos drivers: + SGBD DRIVER JDBC-ODBC: sun jdbc.odbc.JdbcOdbeDriver. + mySQL: com.mysql.jdbe. Driver. * PostGresqgt org.postgresq|.Driver. * Oracle: oracle jdbc. driver. OracleDriver. + SqiServer. com jnetdirect jsql.JSQLDriver. + DB2: com.ibm.db2.jdbe.app.DB2Drive. hitps:iconteuso catolica edu briconteudos/unileste_cursos/dsciplinasinucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18.... 6/19 2ov042021 Versio para impresslo - BANCO DE DADOS Conhega 0 passo a passo para criar a primeira conexdo da API JDBC com Banco de dados MySQL: 1. Baixe o driver especifico do MySQL. Logo apés, adicione o jar nas bibliotecas do projeto. 2. Carregue os drivers. 3. Estabeleca uma conexao com o SGBD por meio do método getConnection da classe DriverManager. Esse método retornaré um objeto do tipo Connection. Observe um exemplo do trecho do cédigo: 4, Crie um objeto Statement a partir do método createStatement do objeto criado. 5, Realize a execugao do comando SQL empregando os métodos existentes no objeto Statement. A criagao do Statement ¢ imprescindivel para executar os comandos SQL de modo direto no banco de dados. £ realizada a instancia da classe Connection criada no passo anterior. ‘Statement stm=conn.ceateStatement(); Os métodos do Statement utilizados para executar os comandos SQL sao: + Encerre a conexao e utilize os comandos especificados no exemplo. Vale lembrar que todas os componentes envolvidos na conexéo com o banco de dados devem ser fechados: Connection, Statement e ResultSet. Exemplo: rs.close(, simt.close), conn.dose(), hitps:iconteuso catolica edu briconteudosiunileste_cursos/dsiplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18.... 7/19 2apouan2t Versio para impress - BANCO DE DADOS Alguns erros podem ocorrer, por exemplo, 0 “diver’ nao estar instalado e, ao tentar carrega- lo por meio do comando Class.forName(driver), uma exceco for gerada. 0 banco de dados estard indisponivel. Nesse caso, ao tentar uma conexo, por melo do comando DriverManager.getConnection (url, user, pass), uma SQLException também seré disparada Por isso, é importante implementar no cédigo excegées usando try/catch para tratar erros, como também encerrar a conexo e os outros objetos pertinentes no bloco finally. Para usar as classes do JDBC, é necessario apenas o import do pacote java.sq]. A API JDBC deve ser adotada quando nao existe um mapeamento objeto-relacional natural ou quando néo garante uma eficiéncia aceitavel A JDBC apresenta uma desvantagem por ser de baixo nivel e bastante trabalhosa, A pratica demonstra que somente uma pequena parte de um cédigo que faz uso de JDBC ¢ destinada efetivamente ao comando que sera executado na camada de recurso. Além disso, o JDBC nao permite pardmetros nomeados, exigindo a contagem de parametros de um comando SQL complexo (JOHNSON W, 2002). Java Persistence API (JPA) JPA 6 um Framework designado para gerir a camada de persisténcia. Realiza a abstragdo das definigdes da camada de persisténcia, ou seja, por meio do JPA, é possivel fazer 0 mapeamento do sistema de banco de dados sem saber como é projetado. Vale ressaltar que um comité da Java EE é responsével pela evolugao da JPA ao longo dos anos. Todavia, a JPA foi especificada na JSR-220 (Java Specification Requests), responsavel pela padronizacdo do mapeamento objeto-relacional na plataforma Java. A API fornece resolugao completa para o mapeamento e persisténcia de objetos (ROCHA; KUBOTA A, 2006), Uma das especificagdes da API é permitir que uma aplicagao utilize determinados recursos, sem estabelecer os detalhes de como devem funcionar interamente. Ela fornece um recurso de mapeamento objeto/relacional para desenvolvedores Java com objetivo de gerenciar dados relacionais em aplicativos Java. Para Jendrock e outros (2013), a Persisténcia de Java consiste em trés dreas: + Um modo declarativo de descrever o mapeamento objeto-relacional + Uma linguagem de consulta + Um conjunto de ferramentas para manipular entidades. hitps:iconteuso catolica edu.briconteudosiunileste_cursos/dsciplinasinucleo_formacao_geralProgramacao_webitema_OdiindexhimMprint=18.... 8/19 2apouan2t Versio para impress - BANCO DE DADOS De tal modo, a API JPA é fundamentada no conceito de ORM (Object Relational Mapping) que se refere ao relacionamento entre objetos e entidades de bancos de dados. Tem sua funcionalidade entre a aplicagao e o banco de dados, como uma camada de abstracao, originando a independéncia. Segundo Castilho A (2011), um dos fundamentos e definic6es relacionados 4 API JPA é 0 de entidade. Refere-se a um objeto que pode ser trazido em uma base de dados por meio de um mecanismo de persisténcia. Conhega algumas caracteristicas da JPA: * Aclasse que implementa a entidade persistente é um POJO (Plain Old Java Object), que basicamente contém um construtor padrao sem argumentos e uma chave primaria. Além disso, nao precisa derivar de nenhuma interface ou classe, nem implementar qualquer método em especial. + Arepresentagao de uma classe é escrita com @Entity. + E importante que toda entidade contenha um construtor sem argumentos. + E importante que toda entidade tenha uma chave priméria podendo ser simples ou composta, que é representada pela anotacao @ld + Chaves compostas devem ser representadas por uma classe Java em separado. Em JPA, os estados sao representados pelos seguintes comandos: + new. representa o estado da entidade apés sua criagao. + managed. representa uma entidade persistida, com seus respectivos ao id relacionado a situagdo de persisténcia. * removed: representa a remogao do BD. * detached: representa uma entidade tendo um id persistente, porém nao tem um contexto de persisténcia. As operacées em JPA so representadas da seguinte forma: + new(;: usado para criagao de nova entidade. + persist(): usado para persistir uma entidade. + refresh(): atualiza o estado de uma entidade. + merge(): usado para sincronizar uma entidade desacoplada. Anotagées de Relacionamento que especificam relacionamento entre entidades e a cardinalidade da relagdo. * @OneToOne * @OneToMany * @ManyToOne + @ManyToMany Segundo O'Conner MA (2011), ao utilizar o JPA, outras vantagens atribuidas ao uso deste so: hitpsiiconteuso catolica edu.briconteudosiunileste_cursos/dsciplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=18.... 9/19 2a104001 \eraio para impressio - BANCO DE DADOS + Nao necessita criar objetos de acesso a dados robustos. + Possibilita que todas as consultas e operagées de persisténcia tornem-se livres do banco de dados que forem utilizados. Isso ocorre para que, caso 0 banco de dados seja modificado, o impacto na aplicagao seja pequeno. + Ajuda a escrever 0 cédigo padrao que interage com qualquer base de dados relacional. + Permite rejeitar 0 SQL, priorizando uma linguagem de consulta que utiliza os nomes das classes e suas propriedades. + E possivel usar e gerenciar POJOs. * Como é formada, a API JPS, as classes e as interfaces esto situadas no pacote javax.persistence. © mapeamento objeto relacional utilizando JPA pode ser feito a partir das anotacées. Estas. podem ser definidas como metadados que aparecem no cédigo fonte e sao ignorados pelo compilador (NASCIMENTO W, 2009). Qualquer simbolo em um cédigo Java que comece com uma @ (arroba) representa uma anotagaio. Esse recurso foi inserido na linguagem Java a partir da verso JSE 5.0 (Java Standard Edition). Em outras palavras, as anotagées sao referentes a marcar partes de objetos que tenham algum significado especial. Em aplicagées orientadas a objetos, a persisténcia possibilita que um objeto (estado) continue a existir, mesmo apés a destruicao do processo que o gerou. O ciclo de vida de uma entidade pode ser composto por quatro estados: novo (new), gerenciado (managed), removido (removed) e separado (detached), conforme representado na figura 2. Figura 2 - Ciclo de vida entidade JPA Fonte: Rosin, 2011 De acordo com Nascimento WA (2009), atualmente, ha varias implementagées de JPA no mercado, entre elas: EclipseLink (eclipse) [Ecl09al, TopLink (Oracle) [Ora09]a, Hibernate (RedHat) [Hib09b], TopLink Essentials (GlassFish) [Gla09], Kodo (Oracle) [Ora09b], OpenJPA hitps:iconteuso catolca edu briconteudosiunileste_cursos/dsciplinasinucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=1.... 10/19 2apouan2t Versio para impress - BANCO DE DADOS (Apache) [Apa09a] e Ebean (SourceForge) [Sou09]. Dessa forma, cada uma apresenta caracteristicas positivas e negativas, levando em consideracao suas tecnologias originadas, licengas, velocidade de processamento de consultas, erros, entre outros fatores. DAO 0 padréo Data Access Object, conhecido como padrdo DAO ®, é uma representacdo abstrata da operagao de recuperar dados na base de dados, ou seja, por meio dele é possivel realizar a separagao das regras de negécios das regras de acesso ao banco de dados. Com isto, o DAO serve para encapsular a logica de acesso a dados. Quando for preciso alterar o banco de dados, nao ser preciso alterar todo sistema, mas apenas os DAOs. Assim, abstrai a visdo do dado usado por uma aplicagao do /ayout da tabela, esquema eXtensible Markup Language (XML) ou arquivo em disco. A figura 3 apresenta o padrao DAO. Figura 3 - Padraéo DAO [BusinessObject DataAccessObject iises DataSource encapsulates | ~. obtainsimodities | ee jteatestuses ey, TransferObject Fonte: elaborada pela autora, 2020. Na figura 3, a representagao do padrao DAO & + DataAccessObject: refere-se a classe responsdvel por encapsular o acesso aos dados + DataSource: refere-se a classe origem dos dados, exemplo: BD, XML e outros + BusinessObject. refere-se a classe que contém a logica e as regras de negécio e utiliza 0 objeto DataAccessObject hitps:iconteuso catolica edu briconteudosiunileste_cursos/dsiplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=1... 11/19 2904/2021 \ersdo para impress - BANCO DE DADOS + TranferOBject refere-se a representago do objeto de dominio contendo os dados que se relacionam com a fonte de dados. Quando for implementar esse padrao, deve-se definir cada classe, conforme o padrao: 1. Crie 0 objeto de valor. Neste exemplo, a classe estudante: Estudante.java public class Estudante { private String name; private int roliNo; Estudante (String name, int rollNo{ this name = name; this.xollNo = rollNo; } public String getName() Feturn name; t public void setName(String name) { this.name = name; } public int getRoliNo() { return r011No; } public void setRoliNo(int roliNo) { this.rollNo = roliNo; t 2. Crie a interface de objeto de acesso a dados. Por exemplo: EstudanteDao java public interface EstudanteDao{ Public List getAllEstudante(); public Estudante getEstudante (int rollNo); public void updateEstudante (Estudante estudante); public void deleteEstudante (Estudante estudante 3. Crie a classe conereta implementando a interface. Por exemplo: EstudanteDaolmpl.java hitps:iconteuso catolca edu briconteudosiunileste_cursos/dsiplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=1.... 12/19 2904/2021 \ersdo para impress - BANCO DE DADOS “import Java til drzaybist: [import Java utd tia jpablic class EstudanteDaclmpl implenents EstudanteDac { (/Asva para adicionar xo banco de dados LiseEstudante> estudante public EstudanteDsoteg! () ( estudante = new ArraylisecEstudante>(): estudante estudantel = new Estudante("Luana”,0): estudante estudantes = ney Estudante("Maria”,1): estudante. add eseudantel) : escudante, add estudaneed) ; ) Qorerside public void deleteetstudante (Estudante estudante) ( students renove (estudante. getRelilfe|)): Sysvem.cut printin|"Zstuiante: Relillo “+ estudante getRelilfe() + [spagato do Banco se dsdos")? } 1 /recupe Soversiae public ListcEstadante> getAllEstudante () { return estudante; 1 2 Lists do aluno Public estudante geeDavadance (int rolifo) { return estudante. get (rolliio) ——ooreeaae 4, Use o EstudanteDao para demonstrar 0 uso do padrao Data Access Object. DaoPatternDemo,java hitpsiiconteuso catolica edubriconteudosiunileste_cursos/dsciplinas/nucleo_formacao_geralProgramacao_webitema_OdiindexhimMprint=1.... 13/19 2904/2021 \Versdo para impress - BANCO DE DADOS public class DacPatternDeno { public static void main(String(] ares) { EstudanteDso estudanteDac ~ new EstudarteDsoT=p10 Herint al stutents for (Grudant estudante = estudanteDeo. eetallstudents0) { ‘System out.printIn(“Estudante: [RollNo Nace: “+ etudante eettane [2 > ‘astudante, getRollNo) +“, stualiver setudante Estudante estudante ~ estudanteDeo. getallBstudente ().get(0): astudinte, retiiane (“tuana’ estudanteDso.updatefstudante (student) /Peuscer 0 sluso estudanteDao. setBstudante (0) Syston out printla(‘Student: [RollNo : “ + extudante.setRollNo 0 +“, Mane ‘estudante, getNane() + ~ 2”) 5. Visualize a saida. Assim, foram apresentados exemplos simples de como utilizar o padrao DAO em Java. Para Batudante: [RolINo : 0, Naze = Luana J Estudante: [RolINo : 1, Nase : Maria 7 Estudante: Roll No 0, estudante apagads da base Estudante: [RolINo :| 0, Nase : Marie J entender melhor, conhega algumas caracteristicas do padrao DAO: * Proporciona uma interface comum de acesso a dados e esconde as caracteristicas de uma implementacao espectfica. + Uma API + Métodos genéricos para concentrar operacées mais comuns (simplificar a interface de acesso) * Define ul 1: métodos genéricos para ler e registrar informacao. ma interface que pode ser implementada para cada nova fonte de dados utilizada, viabilizando a substitui¢éo de uma implementacao por outra. + DAOs néo mantém estado nem cache de dados. hitps:iconteuso catolca edu briconteudosiunileste_cursos\dscplinas/nucleo_formacao_geralProgramacac_webitema_Od/index himl?print=1 san 2apouan2t Versio para impress - BANCO DE DADOS + Usa interfaces Java comuns em vez de uma infraestrutura especial como a dos entity beans. + Nao objetiva o tratamento de transagées ou seguranga, deixando isso a cargo dos componentes da Idgica de negécio. Vale ressaltar que o padrao de projeto DAO oferece uma flexibilidade. Pode ser usado dentro ou fora de um Container EJB (Enterprise JavaBeans), ampliando a utilizacao da arquitetura, Uma vantagem do padrao DAO é produzir trés objetos DAO para um sistema: o primeiro, para ler 0 banco de dados; o segundo, para ler dos arquivos XML recebidos da Web e;o terceiro para fornecer dados de teste para serem utilizados por desenvolvedores trabalhando em outros aspectos do sistema. Dessa maneira, se os trés objetos so descendentes de uma Unica classe abstrata Java que define os varios métodos de acesso, os objetos podem ser substitu/dos na aplicagao final dependendo das necessidades, como também 0 uso dos objetos em outros projetos baseados no mesmo modelo. Na pratica, isso acarretaré um ganho enorme de tempo de produgao de desenvolvimento, facilitando a manutencao do sistema. Dessa forma, o padrdo DAO tem seu funcionamento com qualquer tecnologia de persisténcia subjacente. 0 uso de diferentes tecnologia de acesso a dados nao precisa de nenhuma modificacaio na légica de negécio para acomodar diferentes estratégias de acesso a dados, desde que os objetos de negécio acessem ao DAO por meio de uma interface fixa. Conheca outras estratégias para implementar o padréo DAO, como: + Custom DAO Strategy. essa estratégia basica oferece métodos para criar, apagar, atualizar e pesquisar dados em um banco, Pode usar Transfer Object para trocar dados com clientes + DAO Factory Method Strategy. utiliza Factory Methods em uma classe para recuperar todos os DAOs da aplicagao. + DAO Abstract Factory Strategy. permite criar diversas implementagées de fabricas. distintas que geram DAOs para diferentes fontes de dados. hitps:iconteuso catolca edu briconteudos/unileste_cursos/dsciplinas/nucleo_formacao_geralProgramacao_webitema_OdiindexhimMprnt=1.... 15/19 2904/2021 \Versdo para impress - BANCO DE DADOS Finalizando a Unidade ¥ Para consolidar os estudos propostes, inicialmente, foram apresentados pontuais conceitos relacionados a persisténcia de dados. De forma objetiva, o contetido explicitou que persisténcia de dados sao informacées referentes a um assunto, agrupadas em um sistema de arquivos fisicos. Enfatizou sobre a questo da persisténcia dos dados em uma aplicagao, possibilitando melhor compreensao da fungao do banco de dados e os avangos dos Frameworks para otimizar os processos de desenvolvimento Web Foi evidenciado que o JDBC possui duas partes, sendo uma interface em nivel de aplicagdo usando componentes da JDBC para acesso ao banco de dados e outra do provedor de servigo, responsavel por ter um driver JDBC para a plataforma Java EE. Ademais, foram apontados alguns bancos de dados com os seus receptivos drivers, as principais caracteristicas do JDBC e o passo a passo para criar a primeira conexao da API JDBC com Banco de dados MySQL. Foi possivel compreender que API Java, responsdvel pela padronizagao do mapeamento objeto-relacional na plataforma, tem a finalidade de fornecer resolugao completa para o mapeamento e persisténcia de objetos. Por fim, houve um breve estudo sobre o padrao Data Access Object, conhecido como © padrdo DAO, que nada mais é que uma abstracao de recuperacao dos dados, tal como uma base de dados. 0 conceito é "separar a relacdo do cliente de um recurso dos dados de seu mecanismo de acesso aos dados’. hitpsiconteuso catolca edu.briconteudosiunileste_cursos(dsciplinasinucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=1.... 16/19 2904/2021 \ersdo para impress - BANCO DE DADOS ary EA ©2018 Copyright ©Catélica EAD. Ensino a distancia (EAD) com a qualidade da Universidade Catélica de Brasilia Dica do Professor 9 Leia mais em: CASTILHO, A. S. Introduzindo java persistence API. Universidade Federal de Santa Catarina. Centro Tecnolégico. Curso de Sistemas de Informagao hitps:iconteuso catolca edu briconteudosiunileste_cursos\dscplinas/nucleo_formacao_geralProgramacac_webitema_Od/index himl?print=1 a9 2904/2021 \ersdo para impress - BANCO DE DADOS ©2018 Copyright ©Catélica EAD. Ensino a distancia (EAD) com a qualidade da Universidade Catélica de Brasilia Saiba Mais [C[) Leia: PERSISTENCIA DE DADOS EM JAVA UTILIZANDO HIBERNATE: Mapeamento Objeto LRelacional @ dos autores (Silva et. al,2009). 0 artigo aborda a evolugao da linguagem de programagao Java a partir do auxilio do Framework Hibernate, apresenta suas vantagens e desvantagens, o mapeamento de tabelas para objetos e como obter esses objetos em consultas. hitpsiiconteuso catolica edu.briconteudosiunileste_cursos/dsciplinas/nucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=1.... 18/19 2904/2021 \ersdo para impress - BANCO DE DADOS ©2018 Copyright ©Catdlica EAD. Ensino a distancia (EAD) com a qualidade da Universidade Catélica de Brasilia Referéncias * BAUER, C.; KING, G. Hibernate in Action. [S.|,]: Dreamtech Press, 2007. ISBN 9788177225594, . CASTILHO, A. S. Introduzindo java persistence AP. Universidade Federal de Santa Catarina. Centro Tecnolégico. Curso de Sistemas de Informagao. * JENDROCK, Eric; NAVARRO, Ricardo Cervera; EVANS, lan; GOLLAPUDI, Devika; HAASE, Kim; MARKITO, William; SRIVATHSA, Chinmayee. The Java EE 6 Tutorial. 1 ed. Rewood City: Oracle USA, 2013. + MAGALHAES, Regis. Modelo de arquitetura de aplicagées em camadas baseado em padrées de projeto. 2003 * NASCIMENTO, N. de L. do. Persisténcia em banco de dados: um estudo pratico sobre as API JPA e JDO. Trabalho de graduacao. Universidade Federal de Pernambuco. Graduagao em Ciéncia da Computagao. Centro de Informatica, 2009, * O'CONNER. J. Using java persistence API in desktop applications. Sun Developer Network, 2007. * ROCHA, A.D.; KUBOTA, S.O. Persisténcia no Java EE. Java Magazine, Rio de Janeiro, ano 5, n. 39, p.28-37, 2006. * RUSSELL, C. Bridging the object-relational. May/June, 2008, ACM Queue, p. 16-28. + SOARES, William. Desenvolvimento de sistemas utilizando Java Design Patterns: Struts, Hibernate, DAO e JSTL’. Universidade Sao Francisco (USF). Itatiba: Sao Paulo.2006. + Sun Microsystems. Design Patterns. Disponivel em: http://www.java.sun. com Acesso em: 11 dez. 2019. hitps:iconteuso catolca edu.briconteudosiunileste_cursos/dsciplinasinucleo_formacao_geralProgramacao_webltema_OdiindexhimMprint=1.... 19/19

You might also like