Baixe o app para aproveitar ainda mais
Prévia do material em texto
Desenvolvimento de Aplicações com Banco de Dados Prof Anderson Disciplina Informações Gerais DEITEL, Paul e DEITEL, Harvey. Java como programar. 8. ed. São Paulo: Pearson, 2010. Demais livros informados no Plano de Ensino Bibliografia Disponível no AVA. Objetivo, entregáveis e prazos. Atividade Prática Supervisionada Disponível no AVA. Datas, conteúdos e formatos. Avaliações ! " # CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução 1.2 Arquitetura 1.3 Ambiente de Programação UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL 2.2 Revisão DML 2.3 Revisão DQL UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação INTRODUÇÃO MEMÓRIA CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura 1.3 Ambiente de Programação UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL 2.2 Revisão DML 2.3 Revisão DQL UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação INTRODUÇÃO ARQUITETURA INTRODUÇÃO ARQUITETURA CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL 2.2 Revisão DML 2.3 Revisão DQL UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação INTRODUÇÃO AMBIENTE DE DESENVOLVIMENTO CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL 2.2 Revisão DML 2.3 Revisão DQL UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação FUNDAMENTOS DE SQL DDL - Data Definition Language ALTER CREATE DROP RENAME TRUNCATE DATABASE TABLE DATABASE TABLE TRIGGER INDEX DATABASE INDEXTABLE TRIGGER TABLE TABLE FUNDAMENTOS DE SQL DDL - Data Definition Language PROFESSOR ORIENTA ALUNO FREQUENTA DISCIPLINA 1 N N N id nome titulacao id nome curso id nome carga FUNDAMENTOS DE SQL DDL - Data Definition Language PROJETO 1: CRIAR BANCO mysql Ver 14.14 Distrib 5.6.33, for osx10.9 (x86_64) using EditLine wrapper Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Usage: ./mysql [OPTIONS] [database] -?, --help Display this help and exit. -I, --help Synonym for -? FUNDAMENTOS DE SQL DDL - Data Definition Language PROJETO 2: EXPORTAR BANCO mysqldump Ver 10.13 Distrib 5.6.33, for osx10.9 (x86_64) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Dumping structure and contents of MySQL databases and tables. Usage: mysqldump [OPTIONS] database [tables] FUNDAMENTOS DE SQL DDL - Data Definition Language PROJETO 3: CRIAR USUÁRIO FUNDAMENTOS DE SQL DDL - Data Definition Language PROJETO 1: CRIAR BANCO PROJETO 2: EXPORTAR DADOS BANCO PROJETO 3: CRIAR USUÁRIO CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML 2.3 Revisão DQL UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação FUNDAMENTOS DE SQL DML - Data Manipulation Language CALL DELETE DO LOAD REPLACE XMLDATA SELECT UPDATE HANDLER INSERT FUNDAMENTOS DE SQL DML - Data Manipulation Language id nome curso professor 1 Paulo CC 1 2 Manoel Redes 1 3 Pedro CC 1 4 Maria Redes 2 Aluno id nome carga 1 Algoritmos 60 2 Redes 60 Disciplina id nome titulacao 1 Manoel Dr 2 Tavares Dr Professor aluno disciplina 1 1 1 2 2 2 3 1 aluno_disciplina FUNDAMENTOS DE SQL DML - Data Manipulation Language Projeto 4 CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação FUNDAMENTOS DE SQL DQL - Data Query Language SHOW HELP SELECT FUNDAMENTOS DE SQL DQL - Data Query Language aluno professor disciplina Paulo Manoel Algoritmos Pedro Manoel Algoritmos Paulo Manoel Redes Manoel Manoel Redes Resposta esperada… CSV1.csv FUNDAMENTOS DE SQL DQL - Data Query Language Projeto 5 Projeto 6 FUNDAMENTOS DE SQL LEITURAS RECOMENDADAS https://dev.mysql.com/doc/refman/5.7/en/ https://en.wikibooks.org/wiki/Structured_Query_Language/ CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL å UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação MANIPULANDO BD COM JAVA INTRODUÇÃO MANIPULANDO BD COM JAVA INTRODUÇÃO CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL å UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução å 3.2 JDBC 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação MANIPULANDO BD COM JAVA JDBC Nome_tabela indice campo1 campo2 Classe Java MANIPULANDO BD COM JAVA JDBC public class NOME_BANCO { public void ExecutaQuery() { Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/base", "login","senha"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SQL QUERY"); while (rs.next()) System.out.println(rs.getString("NOME DA COLUNA")); } } SELECT FUNDAMENTOS DE SQL DQL - Data Query Language Projeto 7 MANIPULANDO BD COM JAVA JDBC public class NOME_BANCO { public void ExecutaQuery() { Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/base", "login","senha"); Statement stmt = con.createStatement(); int resultado = stmt.executeUpdate("SQL QUERY"); if(resultado>0)System.out.println("Campo(s) alterado(s)"); } } DELETEUPDATEINSERT MANIPULANDO BD COM JAVA JDBC public class NOME_BANCO { public void ExecutaQuery() { Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/base", "login","senha"); String ConsultaSQL = "SELECT … campo = ?”; PreparedStatement pstmt = con.prepareStatement(ConsultaSQL); pstmt.setString(1, "VALOR"); ResultSet rs = pstmt.executeQuery(); while (rs.next()) System.out.println(rs.getString("NOME DA COLUNA")); } } SELECT FUNDAMENTOS DE SQL DQL - Data Query Language Projeto 8 CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL å UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução å 3.2 JDBC å 3.3 DAO UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação MANIPULANDO BD COM JAVA JDBC public class NOME_BANCO { public void ExecutaQuery() { Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/base", "login","senha"); String ConsultaSQL = "SQL QUERY ?????”; PreparedStatement pstmt = con.prepareStatement(ConsultaSQL); pstmt.setString(1, "VALOR"); [RESPOSTA DO COMANDO SQL] = pstmt.executeXXXXX(); [TRATAMENTO DA RESPOSTA DA EXECUÇÃO DA QUERY] } } DELETEUPDATEINSERTSELECT MANIPULANDO BD COM JAVA DAO Nome_tabela indice campo1 campo2 Classe tabela Classe tabela DAO Classe fonte tabela Classe tabela DTO MANIPULANDO BD COM JAVA DAO Classe tabela Classe tabela DAO Classe fonte tabela Classe tabela DTO MANIPULANDO BD COM JAVA DAO Classe tabela DAO Classe fonte tabela Classe tabela DTO MANIPULANDO BD COM JAVA DAO Classe fonte tabela Classe tabela DTO MANIPULANDO BD COM JAVA DAO Classe fonte tabela MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO CREATE TABLE pessoa ( nome VARCHAR(40), email VARCHAR(80), cpf VARCHAR(14), telefone VARCHAR(30), sexo CHAR(1), datanascimento DATE); MANIPULANDO BD COM JAVA DAO CREATE TABLE pessoa ( nome VARCHAR(40), email VARCHAR(80), cpf VARCHAR(14), telefone VARCHAR(30), sexo CHAR(1), datanascimento DATE); MANIPULANDO BD COM JAVA DAO CREATE TABLE pessoa ( nome VARCHAR(40), email VARCHAR(80), cpf VARCHAR(14), telefone VARCHAR(30), sexo CHAR(1), datanascimento DATE); MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO MANIPULANDO BD COM JAVA DAO Considere: CREATE TABLE `livro` ( `idlivro` int(11) NOT NULL AUTO_INCREMENT, `titulo` varchar(100) NOT NULL, `preco` float DEFAULT NULL, `estoque` int(11) DEFAULT '0', `idgenero` int(11) NOT NULL, `ideditora` int(11) NOT NULL, PRIMARY KEY (`idlivro`,`idgenero`,`ideditora`) ) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; 1) Java - Como Programar Valor: R$ 369,00 Servidor: 216.58.222.78 Porta: 3306 Base: saraiva Usuario: JeffersonPenteado Senha: f1@m3nG0 MANIPULANDO BD COM JAVA EXERCÍCIOS CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL å UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução å 3.2 JDBC å 3.3 DAO å UNIDADE 4: Framework Hibernate 4.1 Descrição 4.2 Estrutura 4.3 Implementação • Banco de Dados Relacional HIBERNATE INTRODUÇÃO • Banco de Dados Relacional • Persistência de Dados HIBERNATE INTRODUÇÃO • Banco de Dados Relacional • Persistência de Dados HIBERNATE INTRODUÇÃO • Banco de Dados Relacional • Persistência de Dados • Persistência de Objetos HIBERNATE INTRODUÇÃO HIBERNATE INTRODUÇÃO Objetos Entidade HIBERNATE INTRODUÇÃO How do you see alternatives to relational databases, like XML and OO databases? “We don ' t see them ; -)” [Gavin King, criador do Hibernate] http://javafree.uol.com.br/artigo/871462/Interview-with-Gavin-King-founder-of-Hibernate.html HIBERNATE INTRODUÇÃO Nome indice campo1 campo2 Nome campo1 campo2 método1 método2 ORM HIBERNATE INTRODUÇÃO Nome indice campo1 campo2 Nome campo1 campo2 método1 método2 ORM Mapeamento OR é uma técnica de desenvolvimento que consiste em representar o objeto de maneira relacional na gravação do banco de dados, e consegue fazer o caminho inverso sem perder informação. HIBERNATE INTRODUÇÃO O mapeamento OR: Modelo Orientado a objetos: modelo o.o. em que os dados estão representados na aplicação; Persistência Física: modelo relacional em que os dados serão armazenados; e Persistência Lógica: traduz o modelo o.o. para a maneira que eles serão armazenados na persistência física, e vice-versa. HIBERNATE INTRODUÇÃO MODELO ORIENTADO A OBJETOS PERSITÊNCIA LÓGICA PERSITÊNCIA FÍSICA HIBERNATE INTRODUÇÃO - Uma das ferramentas de mapeamento OR em Java mais difundidas; - Exemplo de usuários: Sony, Cisco, etc. - Separação entre a aplicação e o acesso aos dados; - Independência quanto ao tipo de base de dados. HIBERNATE INTRODUÇÃO HIBERNATE INTRODUÇÃO - O mapeamento é realizado através de um arquivo (XML) que serve como modelo da persistência lógica. HIBERNATE MAPEAMENTO - O mapeamento é realizado através de um arquivo (hbm.xml) que serve como modelo da persistência lógica. HIBERNATE PERSISTÊNCIA DE DADOS - Persistência de dados: - Objetos simples: tipos primitivos Java, java.lang, java.util.Calendar, java.util.Date, java.sql.Date, java.sql.Time e java.sql.Timestamp. - Coleções: HIBERNATE PERSISTÊNCIA DE DADOS public class CD { private String nome; private String artista; private java.util.Date lancamento; public CD() { } public String getNome(){ return ID; } public void setNome(int nome){ this.nome = nome; } // Sets e Gets public java.util.Date getNascimento(){ return nascimento; } public void setNascimento(java.util.Date lancamento) { this.lancamento = lancamento; } } HIBERNATE PERSISTÊNCIA DE DADOS public class CD { private String nome; private String artista; private java.util.Date lancamento; public CD() { } public String getNome(){ return ID; } public void setNome(int nome){ this.nome = nome; } // Sets e Gets public java.util.Date getNascimento(){ return nascimento; } public void setNascimento(java.util.Date lancamento) { this.lancamento = lancamento; } } HIBERNATE PERSISTÊNCIA DE DADOS <?xml version="1.0"?> <!DOCTYPE hibernate-mappingPUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping.dtd"> <hibernate-mapping> <class name="CD" table="cd"> <id name="nome" column="nome" type="string"> <generator class="assigned"/> </id> <property name="artista" type="string"/> <property name="lancamento" type="date"/> </class> </hibernate-mapping> cd.hbm.xml BANCO DE DADOS banco=pessoa servidor=localhost porta=3306 usuário=alunobd senha=unicarioca HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS 1 2 3 4 5 ASSISTENTE DE CONFIGURAÇÃO DO HIBERNATE Informações de conexões com SGBD ASSISTENTE DE ENGENHARIA REVERSA DO HIBERNATE Informações de tabelas do BD para engenharia reversa ARQUIVOS DE MAPEAMENTO DO HIBERNATE E POJOS DE BANCO DE DADOS Criação das classes POJO através de engenharia reversa ASSISTENTE DE MAPEAMENTO DO HIBERNATE Informações de mapeamento HIBERNATEUTIL.JAVA Arquivo para execução do hibernate HIBERNATE EXERCÍCIOS 1 2 3 4 5 ASSISTENTE DE CONFIGURAÇÃO DO HIBERNATE Informações de conexões com SGBD ASSISTENTE DE ENGENHARIA REVERSA DO HIBERNATE Informações de tabelas do BD para engenharia reversa ARQUIVOS DE MAPEAMENTO DO HIBERNATE E POJOS DE BANCO DE DADOS Criação das classes POJO através de engenharia reversa ASSISTENTE DE MAPEAMENTO DO HIBERNATE Informações de mapeamento HIBERNATEUTIL.JAVA Arquivo para execução do hibernate HIBERNATE EXERCÍCIOS 1 ASSISTENTE DE CONFIGURAÇÃO DO HIBERNATE Informações de conexões com SGBD HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" “http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:8889/unicarioca? zeroDateTimeBehavior=convertToNull</property> <property name="hibernate.connection.username">alunobd</property> <property name="hibernate.connection.password">unicarioca</property> <property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessi onContext</property> <mapping resource="hibernate01/Pessoa.hbm.xml"/> </session-factory> </hibernate-configuration> HIBERNATE EXERCÍCIOS 1 2 3 4 5 ASSISTENTE DE CONFIGURAÇÃO DO HIBERNATE Informações de conexões com SGBD ASSISTENTE DE ENGENHARIA REVERSA DO HIBERNATE Informações de tabelas do BD para engenharia reversa ARQUIVOS DE MAPEAMENTO DO HIBERNATE E POJOS DE BANCO DE DADOS Criação das classes POJO através de engenharia reversa ASSISTENTE DE MAPEAMENTO DO HIBERNATE Informações de mapeamento HIBERNATEUTIL.JAVA Arquivo para execução do hibernate HIBERNATE EXERCÍCIOS 2 ASSISTENTE DE ENGENHARIA REVERSA DO HIBERNATE Informações de tabelas do BD para engenharia reversa HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/ Hibernate Reverse Engineering DTD 3.0//EN" "http:// hibernate.sourceforge.net/hibernate-reverse- engineering-3.0.dtd"> <hibernate-reverse-engineering> <schema-selection match-catalog="unicarioca"/> <table-filter match-name="pessoa"/> </hibernate-reverse-engineering> HIBERNATE EXERCÍCIOS 1 2 3 4 5 HIBERNATE EXERCÍCIOS ASSISTENTE DE CONFIGURAÇÃO DO HIBERNATE Informações de conexões com SGBD ASSISTENTE DE ENGENHARIA REVERSA DO HIBERNATE Informações de tabelas do BD para engenharia reversa ARQUIVOS DE MAPEAMENTO DO HIBERNATE E POJOS DE BANCO DE DADOS Criação das classes POJO através de engenharia reversa ASSISTENTE DE MAPEAMENTO DO HIBERNATE Informações de mapeamento HIBERNATEUTIL.JAVA Arquivo para execução do hibernate 3 HIBERNATE EXERCÍCIOS ARQUIVOS DE MAPEAMENTO DO HIBERNATE E POJOS DE BANCO DE DADOS Criação das classes POJO através de engenharia reversa HIBERNATE EXERCÍCIOS HIBERNATE EXERCÍCIOS <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- Generated 02/05/2016 15:39:58 by Hibernate Tools 4.3.1 --> <hibernate-mapping> <class name="hibernate01.Pessoa" table="pessoa" catalog="unicarioca" optimistic- lock="version"> <id name="indice" type="java.lang.Integer"> <column name="indice" /> <generator class="identity" /> </id> <property name="nome" type="string"> <column name="nome" length="40" /> </property> <property name="email" type="string"> <column name="email" length="80" /> </property> <property name="cpf" type="string"> <column name="cpf" length="14" /> </property> <property name="telefone" type="string"> <column name="telefone" length="30" /> </property> </class> </hibernate-mapping> HIBERNATE EXERCÍCIOS <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" “http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</ property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</ property> <property name="hibernate.connection.url">jdbc:mysql://localhost:8889/ unicarioca?zeroDateTimeBehavior=convertToNull</property> <property name="hibernate.connection.username">alunobd</property> <property name="hibernate.connection.password">unicarioca</property> <property name="hibernate.current_session_context_class">org.hibernate.context.internal.Threa dLocalSessionContext</property> <mapping resource="hibernate01/Pessoa.hbm.xml"/> </session-factory> </hibernate-configuration> HIBERNATE EXERCÍCIOS 1 2 3 4 5 HIBERNATE EXERCÍCIOS ASSISTENTE DE CONFIGURAÇÃO DO HIBERNATE Informações de conexões com SGBD ASSISTENTE DE ENGENHARIA REVERSA DO HIBERNATE Informações de tabelas do BD para engenharia reversa ARQUIVOS DE MAPEAMENTO DO HIBERNATE E POJOS DE BANCO DE DADOS Criação das classes POJO através de engenharia reversa ASSISTENTE DE MAPEAMENTO DO HIBERNATE Informações de mapeamento HIBERNATEUTIL.JAVA Arquivo para execução do hibernate 4 HIBERNATE EXERCÍCIOS ASSISTENTE DE MAPEAMENTO DO HIBERNATE Informações de mapeamento 1 2 3 4 5 HIBERNATE EXERCÍCIOS ASSISTENTE DE CONFIGURAÇÃO DO HIBERNATE Informações de conexões com SGBD ASSISTENTE DE ENGENHARIA REVERSA DO HIBERNATE Informações de tabelas do BD para engenharia reversa ARQUIVOS DE MAPEAMENTO DO HIBERNATE E POJOS DE BANCO DE DADOS Criação das classes POJO através de engenharia reversa ASSISTENTE DE MAPEAMENTO DO HIBERNATE Informações de mapeamento HIBERNATEUTIL.JAVA Arquivo para execução do hibernate 5 HIBERNATE EXERCÍCIOS HIBERNATEUTIL.JAVA Arquivo para execução do hibernate public class NovoHibernateUtil { private static final SessionFactory sessionFactory; static { try { Configuration configuration = new Configuration(); configuration.configure(); ServiceRegistryserviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); sessionFactory = new Configuration().configure().buildSessionFactory(serviceRegistry); } catch (Throwable ex) { System.err.println(ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } } HIBERNATE EXERCÍCIOS public class PessoaHelper { Session session = null; public PessoaHelper() { this.session = NovoHibernateUtil.getSessionFactory().getCurrentSession(); } [CONTINUA] HIBERNATE EXERCÍCIOS [CONTINUANDO…] public List getList(int startID, int endID) { List<Pessoa> pessoaList = null; try { org.hibernate.Transaction tx = session.beginTransaction(); Query q = session.createQuery ("from Pessoa as pessoa where pessoa.indice between '"+startID+"' and '"+endID+"'"); pessoaList = (List<Pessoa>) q.list(); } catch (Exception e) { e.printStackTrace(); } return pessoaList; } } HIBERNATE EXERCÍCIOS public static void main(String[] args) { PessoaHelper lista = new PessoaHelper(); ArrayList pessoas = (ArrayList) lista.getList(0, 1000); Iterator proximo = pessoas.iterator(); int i=0; while(proximo.hasNext()){ Pessoa p = (Pessoa) pessoas.get(i); System.out.println(p.getNome()); proximo.next(); } } HIBERNATE EXERCÍCIOS public List getList(int startID, int endID) { List<Pessoa> pessoaList = null; try { org.hibernate.Transaction tx = session.beginTransaction(); Query q = session.createQuery ("from Pessoa as pessoa where pessoa.indice between '"+startID+"' and '"+endID+"'"); pessoaList = (List<Pessoa>) q.list(); } catch (Exception e) { e.printStackTrace(); } return pessoaList; } HIBERNATE EXERCÍCIOS CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL å UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução å 3.2 JDBC å 3.3 DAO å UNIDADE 4: Framework Hibernate 4.1 Descrição å 4.2 Estrutura 4.3 Implementação FRAMEWORK HIBERNATE ESTRUTURA hibernate.cfg.xml hibernate.hbm.xml hibernate.reveng.xml HibernateUtil.java classes.java CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL å UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução å 3.2 JDBC å 3.3 DAO å UNIDADE 4: Framework Hibernate 4.1 Descrição å 4.2 Estrutura å 4.3 Implementação CONTEÚDO PROGRAMÁTICO UNIDADE 1: Introdução 1.1 Introdução å 1.2 Arquitetura å 1.3 Ambiente de Programação å UNIDADE 2: Fundamentos de SQL 2.1 Revisão DDL å 2.2 Revisão DML å 2.3 Revisão DQL å UNIDADE 3: Manipulando Banco de Dados com Java 3.1 Introdução å 3.2 JDBC å 3.3 DAO å UNIDADE 4: Framework Hibernate 4.1 Descrição å 4.2 Estrutura å 4.3 Implementação å OBRIGADO! Boa-prova! $
Compartilhar