-
Tenho certeza que você
já teve que acessar
-
o banco de dados,
seja um Oracle, um SQL Server,
-
a partir do Java, e você provavelmente
fez as coisas no braço,
-
criou os design patterns, montou
cada uma das consultas do SQL,
-
os inserts para carregar
o banco, cria o DAO,
-
trabalha isso e pega
da orientação a objetos,
-
pega do objeto, joga para o DAO,
o DAO joga no banco, volta.
-
Mas tem que montar
tudo isso.
-
Existe uma maneira mais fácil
de fazer isso, né, Thiago,
-
que é através
dos ORMs, certo?
-
Isso, são os frameworks
de mapeamento objeto relacional.
-
Por quê? O que nós temos
quando desenvolvemos?
-
Geralmente, uma base de dados
relacional com tabelas.
-
E aí nós replicamos
isso para o Java,
-
que nem no classes
e atributos.
-
Então, no exemplo
da minha imagem aqui,
-
nós temos uma tabela
com três colunas,
-
sendo de salário
e o nome dele,
-
e precisamos criar uma classe
Java com três atributos
-
que vai representar
cada uma dessas colunas.
-
E para fazer um insert, que é
o exemplo que eu tenho aqui,
-
nós precisamos de várias
linhas de código,
-
criar o SQL,
colocar os parâmetros,
-
abrir conexão, fazer o commit,
executar query etc.
-
Quando eu utilizo
um framework de ORM,
-
eu consigo então mapear
cada um dos atributos
-
para as colunas
da tabela.
-
E, com isso, o framework
consegue resolver sozinho.
-
Então, quando eu precisar
cadastrar alguém,
-
ele sabe aonde ele
precisa cadastrar,
-
se eu precisar recuperar o cliente,
ele sabe qual tabela ele precisa ir
-
para recuperar
as informações.
-
Então, eu só
preciso mapear,
-
marcar para ele, né?
-
"Esse atributo do Java equivale
àquela coluna daquela tabela".
-
Daí ele vai fazer toda essa parte
de uma maneira mais fácil,
-
mais automática
para nós, é isso?
-
Exatamente.
-
E, para isso, dependendo
da linguagem que você estiver utilizando,
-
existem vários tipos
de ORMs, né?
-
Então, o .NET tem, PHP
também tem, Python.
-
Toda linguagem
hoje em dia
-
tem algum tipo de software
ou tipo ORM para fazer isso, né?
-
Isso, porque eles
são muito práticos,
-
muito produtivos
para um desenvolvedor
-
porque ele não
se preocupa mais
-
em fazer todo aquele
trabalho braçal, repetitivo.
-
Ele só foca na regra de negócio,
na inteligência do seu produto.
-
Inclusive, até para Android
nós temos esses frameworks
-
para facilitar
a persistência de dados.
-
Legal. E para o Java nós temos
o Hibernate, que faz esse papel,
-
é o mais utilizado,
né, Thiago?
-
Exato, o Hibernate.
-
Nós sempre falamos
JPA/Hibernate.
-
O JPA é a especificação da Oracle,
do Java EE para API de persistência.
-
Então, ele tem uma série
de regras que se deve seguir para...
-
Para ser do ORM do Java.
-
Porém, o Hibernate é
uma implementação dessa especificação.
-
Então, Oracle não
implementa em si,
-
ele só fala as regras do jogo
e o Hibernate vai lá e implementa.
-
Então, se eu não quiser
usar o Hibernate,
-
eu tenho outras bibliotecas
que também seguem essa especificação.
-
Então, o Hibernate é o produto,
a marca de mercado,
-
e o JPA é a especificação
que o Hibernate segue e implementa.
-
Exato.
-
E outros frameworks.
-
Eu posso criar um framework
que seja um ORM,
-
que segue o JPA, e eu
chamo do que eu quiser.
-
Exato. E se um dia você estiver
usando o Hibernate e precisar mudar,
-
você pode mudar
para um TopLink
-
- ou para um JPA sem nenhum problema,
- Olha só.
-
porque todo mundo
segue as mesmas regras.
-
Excelente. Então, é isso
que nós vamos aprender
-
nessa série de vídeos,
como podemos fazer facilmente
-
uma conexão
com o banco de dados
-
e fazer o que o programador
tem que fazer,
-
que é se concentrar nas regras
de negócio e não ter que se preocupar
-
com as atividades extremamente
repetitivas e trabalhosas.