Persistência com Java
Julio M. Faerman
Introdução
Persistência em Arquivos
# 2
Recursos
http://jfaerman.googlepages.com/• Apresentações• Exemplos• Exercícios• Tutoriais• Links• Downloads
Persistência em Arquivos
# 3
Persistência em arquivos
Persistência em Arquivos
# 4
.dat.dat
.xml.xml
.csv.csv
.txt.txt
Serialização e Fluxos de I/O
Persistência em Arquivos
# 5
Serialização
Serialização 1010100010101010001010101000101010100010
.dat.dat
byte[]
byte[]
APIs Relevantes
• IO– I/O Básico
• NIO– I/O Avançado– I/O Não bloqueante– Arquivos mapeados na
memória– Locking
• XMLEncoder/XMLDecoder– Serialização em XML
• XML– SAX
• XML por eventos
– DOM• XML por árvore
– STAX• Controle do Parsing
– JAXB• Conversão Java -
XML
Persistência em Arquivos
# 6
Exercício: Definição de um sistema• Dominios
– Locadora– Agenda– Varejo– Hospital– Banca– Posto– Fazenda– Finanças
• Entidades– Participante/
Lugar/Coisa– Papel– Descrição/Tipos– Transação/
Acontecimento
Persistência em Arquivos
# 7
CRUD em arquivos para uma entidade
CreateReadUpdateDelete
“90% of everything is crud”-Sturgeon’s Law
Persistência em Arquivos
# 8
Sistemas Gerenciadores de Bancos de Dados• Hierarquico• Rede• Relacional• Pós-relacional• Orientado a Objetos• Temporal• XML• Prevalente
Persistência em Arquivos
# 9
Prevalência
Persistência em Arquivos
# 10
Transação
Transação
Tradicional
Tradicional
Prevalente
Prevalente
Modelagem Relacional
FilmeID Nome Gener
oLançamento
Persistência em Arquivos
# 11
Pessoa
Atuação
Structured Query Language
• SELECT a,b,c FROM d,e WHERE f,g
Persistência em Arquivos
# 12
Ferramentas
Persistência em Arquivos
# 13
Exercício: Desenvolvimento do banco
• Quebra-cabeças:– Equals– Oddity
Persistência em Arquivos
# 14
Persistência em Arquivos
# 15
Dúvidas ?