Arquivo

Archive for the ‘Java’ Category

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