Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: JPA - Java Persistence Architecture API - Arquitetura de Persistência Java ::: Interfaces, Classes e Componentes ::: EntityManager

Usando o método persist() da interface EntityManager para gravar uma entidade JPA em uma base de dados MySQL (Exemplo completo)

Quantidade de visualizações: 8188 vezes
Nesta dica mostrarei, passo-a-passo, como usar o método persist() da interface EntityManager para gravar uma entidade JPA em uma base de dados MySQL. Para isso, recorra ao link abaixo para aprender os passos iniciais de como usar o JPA com o NetBeans:

http://www.arquivodecodigos.net/principal/diretorios/jpa/
artigos_tutoriais/baixando_eclipselink_testando_netbeans.php

Vamos começar criando a seguinte classe (escolha o pacote que julgar melhor para o seu caso):

Código para Cliente.java:

package entidades;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name="clientes")
public class Cliente implements Serializable {
  @Id
  @GeneratedValue(strategy=GenerationType.IDENTITY)
  private int id;
  private String nome;
  private String email;
  @Temporal(TemporalType.TIMESTAMP)
  @Column(name="cadastro")
  private Date dataCadastro;

  public int getId() {
    return id;
  }

  public void setId(int id) {
......


Esta classe Cliente será mapeada para a seguinte tabela do MySQL:

CREATE TABLE clientes(

  id int(11) NOT NULL AUTO_INCREMENT,
  
  nome varchar(45) DEFAULT NULL,
  
  email varchar(45) DEFAULT NULL,
......


Vamos agora criar o arquivo persistence.xml (novamente visite a URL acima se tiver dúvidas sobre o local correto deste arquivo):

Código para persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
  http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="LocadoraService" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>entidades.Cliente</class>
......


Nesta unidade de persistência nós indicamos a classe de entidade, o provider e as propriedades de conexão com o banco de dados. Veja agora o código para a classe principal da aplicação:

Código para EstudosJPA.java:

package estudosjpa;

import entidades.Cliente;
import java.util.Date;
import javax.persistence.*;

public class EstudosJPA {
  public static void main(String[] args) {
    // vamos criar o EntityManagerFactory a partir do contexto de persistência
    EntityManagerFactory emf = 
      Persistence.createEntityManagerFactory("LocadoraService");
    
    // vamos obter um objeto da interface EntityManager
    EntityManager em = emf.createEntityManager();
    
    // vamos criar um novo objeto da classe Cliente
    Cliente c = new Cliente();
......


Se tudo correu bem, dispare um comando SELECT na tabela do banco de dados e verá o novo registro inserido.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca)

Como usar a pesquisa ou busca linear ou sequencial nos elementos de um vetor em Java

Quantidade de visualizações: 4368 vezes
A busca linear ou sequencial, muitas vezes chamada de pesquisa linear ou sequencial, é geralmente implementada por meio de um algorítmo que varre os elementos de um coleção sequencial, começando do primeiro elemento e indo até o último. Esta busca não é tão usada quando a pesquisa binária ou hashing, por ser considerada muito lenta quando aplicado a um conjunto de dados muito grande.

A busca linear ou sequencial em um vetor Java pode ser descrito pelos seguintes passos:

1) Efetua a varredura dos elementos do vetor.
2) Compara o valor do elemento atual do vetor com o valor sendo pesquisado.
3) Se o valor for encontrado, efetue o procedimento desejado com o elemento do vetor.
4) Se a varredura alcançar o último elemento do vetor e o valor pesquisado não for encontrado, exiba uma mensagem de erro ou algum outro procedimento para alertar o usuário do programa.

Veja um exemplo no qual declaramos e preenchemos um vetor de int com 5 elementos e em seguida usamos um método pesquisaLinear para verificar se um determinado valor existe no vetor:

package arquivodecodigos;

public class Estudos{
  public static void main(String a[]){    
    // vamos criar um vetor de 5 elementos int
    int[] valores = {32, 7, 21, 4, 90};    
    // vamos pesquisar o valor 21
    int valor = 21;

    // vamos verifiar se o valor está no vetor
    int indice = pesquisaLinear(valores, valor);
    if(indice > -1){
      System.out.println("O valor foi encontrado no índice: " 
        + indice);  
    }
    else{
      System.out.println("O valor não foi encontrado.");
......


Ao executarmos este código nós teremos o seguinte resultado:

O valor foi encontrado no índice: 2

Veja o mesmo código sem usar um método adicional, ou seja, a busca linear é feito dentro do método main() da classe Java:

package arquivodecodigos;

public class Estudos{
  public static void main(String a[]){    
    // vamos criar um vetor de 5 elementos int
    int[] valores = {32, 7, 21, 4, 90};    
    // vamos pesquisar o valor 21
    int valor = 21;

    // vamos verifiar se o valor está no vetor
    int indice = -1; // não foi encontrado
    
     // percorre os elementos do vetor
    for(int i = 0; i < valores.length; i++){    
......



Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a transposta de uma matriz em Java - Java para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 2711 vezes
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante.

Em termos de notação, podemos dizer, de forma algébrica, que:

ATji = Aij

Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta.

É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3.

Antes de vermos o código Java, dê uma olhada na seguinte matriz de duas linhas e três colunas:

\[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \]

Sua matriz transposta correspondente é:

\[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \]

E agora veja o código Java que declara uma matriz 2x3 e gera a matriz transposta 3x2:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    // vamos declarar e construir uma matrix
    // 2x3 (duas linhas e três colunas
    int matriz[][] = {{3, 5, 7}, {1, 2, 9}};
    
    // vamos exibir os valores da matriz
    System.out.println("Elementos da matriz:");
    for(int i = 0; i < matriz.length; i++){
      for(int j = 0; j < matriz[0].length; j++){
        System.out.printf("%5d  ", matriz[i][j]);
      }
      System.out.println();
    }
    
    // como temos uma matriz 2x3, a transposta deverá ser
    // 3x2, ou seja, três linhas e duas colunas
    int linhas = matriz.length; // linhas da matriz original
......


Ao executar este código Java nós teremos o seguinte resultado:

Elementos da matriz:
    3      5      7  
    1      2      9  
Elementos da matriz transposta:
    3      1  
    5      2  
    7      9  



Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como classificar um array em ordem crescente usando o método sort() da classe Arrays do Java

Quantidade de visualizações: 26407 vezes
Nesta dica mostrarei como podemos usar o método sort() da classe Arrays da linguagens Java para ordenar um vetor de inteiros em ordem crescente. A assinatura do método sort() que usaremos é aquela que recebe apenas um argumento, ou seja, o array a ser ordenado.

Note que a implementação de ordenação usada pelo método sort() é a ordenação quicksort, considerada uma das mais rápidas nos dias atuais.

Veja o código completo para o exemplo:

package estudos;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    // vamos declarar e construir um vetor de 5 inteiros
    int[] valores = new int[5];
 
    // inicializa os elementos do array
    valores[0] = 23;
    valores[1] = 65;
    valores[2] = 2;
    valores[3] = 87;
    valores[4] = 34;

    // exibe os valores dos elementos do array
    // usando o laço for melhorado
    System.out.println("Elementos na ordem original:");
......


Ao executarmos este código Java nós teremos o seguinte resultado:

Elementos na ordem original:
23 65 2 87 34

Elementos classificados em ordem crescente:
2 23 34 65 87


Java ::: Dicas & Truques ::: Formatação de datas, strings e números

Como usar o método format() da classe NumberFormat do Java para formatar um valor float ou double de acordo com as configurações regionais - Revisado

Quantidade de visualizações: 10728 vezes
Nesta dica mostrarei como usar o método format() da classe NumberFormat da linguagem Java. Esta classe está no pacote java.text e é usada para a formatação e análise de valores numéricos.

Note como usei o método getInstance() sem argumentos. Isso nos permite retornar uma instância de NumberFormat de acordo com as configurações regionais da máquina na qual o código está sendo executado.

Veja o código completo:

package arquivodecodigos;

import java.text.NumberFormat;

public class Estudos{
  public static void main(String[] args){
    // vamos double a ser formatado
    double valor = 1234567.89;
    
    // vamos obter uma instância de acordo com as configurações
    // regionais
    NumberFormat nf = NumberFormat.getInstance();
......


Ao executar este código nós teremos o seguinte resultado:

Sem formatação: 1234567.89
Com formatação: 1.234.567,89

Esta dica foi revisada e testada no Java 8.


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como trabalhar com strings em Delphi - Como usar strings na linguagem Delphi

Quantidade de visualizações: 27786 vezes
Strings estão presentes em praticamente todos os programas que desenvolvemos, não importa a linguagem de programação usada. Sempre que queremos trabalhar com nomes de pessoas, nomes de cidades, palavras, frases e textos, as strings estão lá para nos auxiliar. Assim, para as linguagens de programação, as strings são apenas matrizes de caracteres (letras ou símbolos).

Em Delphi podemos declarar e inicializar strings da seguinte forma:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string; // declara uma variável do tipo string
begin
......


Quando declaramos uma string em Delphi usando a palavra-chave string, o compilador automaticamente assume o tipo UnicodeString, com uma capacidade de 2^30 caracteres (mais ou menos 1.073.741.824 caracteres) com uma capacidade variando de 4 bytes até 2GB.

Além do tipo string, o Delphi suporta outros tipos que possibilitam também o trabalho com strings e caracteres. Entre eles podemos citar ShortString, AnsiString, WideString entre outros. Quando puder dê mais uma revisada nas minha dicas sobre strings e caracteres para aprender mais.

É possível também usar o tipo string para criar strings com tamanhos pré-definidos. Veja:

var
  nome: string[5]; // declara uma variável do tipo string
......


Aqui temos uma string que não suportará mais que cinco caracteres. Importante notar que, internamente, teremos agora uma string do tipo ShortString e não mais UnicodeString como anteriormente. Se tentarmos atribuir mais que cinco caracteres nesta variável, o restante será truncado:

nome := 'Osmar J. Silva'; // inicializa a variável
......


Para finalizar, veja como podemos solicitar ao usuário que informe seu nome e exibí-lo usando a função ShowMessage():

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string; // declara uma variável do tipo string
begin
  // vamos solicitar ao usuário que informe seu nome
......


Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 6 usuários muito felizes estudando em nosso site.