Arquivo

Posts Tagged ‘Java’

Generic Data Access Object com Eclipse Link

julho 18, 2011 Deixe um comentário

Olá, nesse post estará um código fonte de um Generic DAO utilizando a biblioteca de persistência Eclipse Link (somente o código da classe Generic DAO, não entrarei nos detalhes de configuração da conexão com banco de dados).

É possível realizar o download da biblioteca em: EclipseLink Home

O mais importante antes de construir o DAO Genérico, é ter conhecimento sobre Generics e Java Reflection, pois apresentam-se dois problemas:

  • Tipo dos parâmetros nos métodos: por exemplo no método inserir, você deve passar um objeto do tipo da entidade que se deseja adicionar;
  • Obter classe da entidade:  por exemplo no get você precisa saber qual o tipo da entidade a ser retornada;
Para resolver o primeiro utilizamos Generics, que permite passar o tipo no construtor, permite que ela receba qualquer tipo (exceto os primários).
E o segundo utilizamos o Java Reflection, a partir da classe Class, que permite armazenar informações sobre qualquer classe Java.
Eis o código do DAO Genérico:
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;

public class GenericDAO <T>{
 /*cria um gerenciador de entidades, a partir da fábrica de gerenciadores de entidade
 Obs: não utilizar static, pois pode gerar problemas em relacionamentos Many-To-Many */
 private EntityManager em = Persistence.createEntityManagerFactory("UP").createEntityManager();
 //Atributo do tipo classe utilizado no Java Reflection
 private Class classe;

 public GenericDAO(Class classe) {
      //faz o atributo classe receber a classe da entidade, que deve ser passada no construtor      
      this.classe = classe;
 }

//Método para inserir um registro no banco de dados a partir de um objeto
 public void insert(T entidade){
      em.getTransaction().begin();
      em.persist(entidade);
      em.getTransaction().commit();
 }

//Método para atualizar um registro no banco de dados a partir de um objeto
 public void update(T entidade){
      em.getTransaction().begin();
      em.merge(entidade);
      em.getTransaction().commit();
 }

//Método para obter um registro no banco de dados a partir de um id
 public T get(int id){
      return (T)em.find(classe, id);
 }

//Método para remover um registro no banco de dados a partir de um id
 public void remove(int id){
      T entidade = get(id);
      if(entidade!=null){
      em.getTransaction().begin();
      em.remove(entidade);
      em.getTransaction().commit();
 }
 }

//Retorna todos os registros no banco de dados da tabela equivalente a entidade passada por parâmetro
 public List<T> list(){
       return em.createQuery("SELECT e FROM " + classe.getSimpleName() + " e").getResultList();
 }
}

Somando dois números no java

março 3, 2011 Deixe um comentário

Bom… Nesse post apenas quero dar um exemplo simples da soma de dois números para mostrar a estrutura de uma classe com o método main.

public class SomaDoisNumeros{
	
	/*O método principal é o método main, por onde começará a execução do programa.
	Ele deve ser estático e deve receber um vetor de strings como parâmetro.
	Toda aplicação (projeto) deve possuir um método main.
	*/
	public static void main(String args[]){ 
		int x = 5;
		int y = 10;
		int soma = x + y;
		System.out.println("A soma de x e y é igual a " + soma);
	}
	
}
Categorias:Java Tags:,

Tipos primitivos no Java

fevereiro 17, 2011 Deixe um comentário

A linguagem Java oferece 8 tipos primitivos para utilização, sendo 1 lógico, 1 para caractere, 4 para números inteiros e 2 para números de ponto flutuante.

Na imagem abaixo temos os tipos e sua abrangência:

 

[tipos-primitivos-java]
Tipos Primitivos do Java
Categorias:Java Tags:, ,

Como funciona a JVM [Java Virtual Machine]

fevereiro 15, 2011 Deixe um comentário

Como todos que já tiveram o contato básico com a linguagem de programação Java ou pelo menos ouviu falar dela, sabe da capacidade dela de ser multi-plataforma, podendo executar o mesmo aplicativo desde os computadores até mesmo alguns simples celulares.

E uma das peças chaves para ser multi-plataforma é o JVM (Java Virtual Machine), necessário para executar qualquer aplicação escrita na linguagem de programação Java.

Leia mais…

Categorias:Java Tags:, ,
Crie um site como este com o WordPress.com
Comece agora