Please enable JavaScript.
Coggle requires JavaScript to display documents.
Java OO 5/7 - BD - Coggle Diagram
Java OO 5/7 - BD
Java EE
Conjunto de especificações
JPA - Biblioteca padrão do Java para persistência no mapeamento objeto relacional
Hibernate - Uma das implementações da especificação JPA
JPA - Interface; Hibernate é a implementação
Springboot - Framework popular no mercado
Incluindo JPA para persistir os objetos em banco de dados
Instalar o XAMPP
Start Apache e MySQL
No PhpMyAdmin criar database aulajpa
Maven
Gerenciador de dependências e build do java
Novo projeto tem seleção de tipo de arquitetura no modo não simples
É possível derivar um projeto de outro
Copiar Pessoa e Programa para o projeto Maven
Atualizar o Maven para a versão LTS do Java: pom.xml
pom.xml
Contém as configurações do Java
Quais dependências ele tem que baixar
Qual versão do Java ele tem que compilar
Como ele tem que fazer o build da aplicação
Atualizar a versão do java que ele tem que compilar (LTS-17)
Incluir as dependências Maven a serem baixadas. Conhecer Nome e Versão. Pesquisar Web. Mesma versão
<artifactId>hibernate-core</artifactId>
<artifactId>hibernate-entitymanager</artifactId>
<artifactId>mysql-connector-java</artifactId>
Quando Salvar o xml o Maven vai buscar as dependências na web
Aplicar> Project B.Direito Maven->Update Project
Configurar o JPA pelo arquivo persistence.xml
Criar pasta MAVEN-INF e o arquivo persistence.xml
<property name="hibernate.hbm2ddl.auto" value="update" />
Gera o BD automaticamente qdo criar as classes de domínio. Create recria o BD qdo roda a aplicação
No programa instanciar
EntityManager
EntityManagerFactory
Mapeamento
Incluir os MAPEAMENTOS na classe de domínio
Id
GeneratedValue(strategy=GenerationType.IDENTITY)
Entity
Column
Spring Data. Abrastrai alguns comandos do JPA
Tem as configurações
Instancia os Entities automaticamente
Gerencia as transações
Inclui uma camada superior: Repository
Fornece operações baseadas no JPA mas em um nível mais elevado
Deixa operações com o BD mais fáceis
Transações
setAutoCommit(false)
commit()
rollback()
JPA
Arquitetura
EntityManager
encapsula uma conexão com a base de dados e serve para efetuar operações de acesso a dados
EntityManagerFactory
Um objeto EntityManagerFactory é utilizado para instanciar objetos EntityManager.
Recuperar dados
Entender duas classes
Statement: montar o comando SQL que será executado
Result set: objeto com o resultado da consulta em forma de tabela
first(); beforeFirst(); next(); absolute(int)
Uso o try pq vou acessar um recurso externo e pode ocorrer uma exceção
Inserir dados
Inserção simples com preparedStatement
Inserção com recuperação de Id
Deletar dados
Criar DbIntegrityException
Tratar a exceção de integridade referencial
Instalação
Postman
Testador de requisições
STS - Spring Tool Suit
Framework de desenvolvimento
JDBC - API java padrão para acesso a banco de dados
O mesmo programa java pode acessar os diversos bancos de dados sem alterar o programa
Nivelamento Algebra Relacional e SQL
Instalação do MySQL
Preparação do 1o. projeto no Eclipse
Criar acesso jdbc
Criar novo JavaProject
Adicionar a User Library criada no passo anterior
Baixar jdbc
Criar uma User Library no Eclipse apontando para o jdbc.jar
Clicar no AddExternalJars
Criar arquivo de conexão db.properties
Botão direito pasta projeto->new file
Criar uma class com tratamento de exceção padrão para acesso a dados
Criar uma class DB para implementar a conexão e desconexão com o BD
Obter parâmetros de conexão de db.properties
Testar a conexão. Ok se não der erro
DAO - Modelo de implementação com BD
Tem adicionalmente o uso prático do GIT
Persistir a tabela no BD. Recria a tabela e pode incluir linhas
em.persist(p1);
Excluir via JPA
Como o JPA monitora as tabelas, só posso excluir se tiver acabado de incluir ou se acabei de consultar
Alterar dados
Consultar via JPA