Buscar

Aplicações em banco de dados - Unicarioca

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 118 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 118 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 118 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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!
$

Continue navegando