Conexão Java Mini-curso Hibernate

Tamanho: px
Começar a partir da página:

Download "Conexão Java 2006. Mini-curso Hibernate"

Transcrição

1 Conexão Java 2006 Mini-curso Hibernate Sérgio Luís Lopes Júnior Caelum Neste tutorial, você irá aprender a: - usar a ferramenta de ORM Hibernate - gerar as tabelas em um banco de dados qualquer a partir de suas classes de modelo - automatizar o sistema de adicionar, listar, remover e procurar objetos no banco - utilizar anotações para facilitar o mapeamento de classes para tabelas - criar classes de dao bem simples utilizando o hibernate - utilizar relacionamentos entre tabelas Introdução A utilização de código SQL dentro de uma aplicação agrava o problema da independência de plataforma de banco de dados e complica, em muito, o trabalho de mapeamento entre classes e banco de dados relacional. HIBERNATE O Hibernate abstrai o código SQL da nossa aplicação e permite escolher o tipo de banco de dados enquanto o programa está rodando, permitindo mudar sua base sem alterar nada no seu código Java. Além disso, ele permite criar suas tabelas do banco de dados de um jeito bem simples, não se fazendo necessário todo um design de tabelas antes de desenvolver seu projeto que pode ser muito bem utilizado em projetos pequenos. Já projetos grandes onde o plano de ação padrão tomado pelo Hibernate não satisfaz as necessidades da empresa (como o uso de select *, joins etc), ele possui dezenas de otimizações que podem ser feitas para atingir tal objetivo. O Hibernate é o framework de mapeamento objeto relacional mais utilizado em projetos Java. Seu criador Gavin King se juntou a Marc Flery do grupo JBoss, e agora o Hibernate faz parte do JBoss group, que por sua vez foi vendido para a corporação Red Hat. Anotações, EJB3 e Persistence API Fazer o mapeamento objeto relacional com o Hibernate era muito trabalhoso até a chegada das anotações do java5: você precisava criar arquivos XML de mapeamento, especificando as relações entre as entidades, nome de colunas, tabelas e muitos outros. Para não fazer isso tudo na mão o XDoclet ajudava muito, porém abria espaço para erros de digitação. Muitos plugins para as IDEs foram lançados, mas faltava algo para criar uma real facilidade. A JSR 220, que especifica o EJB3, separou a parte de Entity Beans na Persistence API (javax.persistence), onde define um EntityManager que faz o papel das antiga Homes, assim como uma EJB query language renovada e um conjunto de anotações

2 Ambiente usado para fazer o mapeamento objeto relacional. Essa API é desacoplada da API dos EJBs, fazendo com que a API não precise de um container Java EE para ser utilizado. Gavin King, como um dos líderes dessa JSR, foi implementando a Persistence API em cima do Hibernate enquanto a JSR ia sendo desenvolvida. Dia 1o de maio de 2006, com o lançamento da JSR, o Hibernate já possui implementado a grande maioria das necessidades especificadas na JSR. Por esse motivo uma grande parte de imports que vamos usar serão javax.persistence e não apenas org.hibernate. Usaremos neste projeto a IDE livre Eclipse ( e Java 5. A versão do Hibernate que usamos é a Como Banco de Dados, usaremos o Apache Derby, um banco escrito totalmente em Java e que pode ser distribuído junto com sua aplicação. Criando seu projeto Para criar seu projeto, é necessário baixar os arquivos.jar necessários para rodar o Hibernate e colocá-los no classpath do mesmo. O site oficial do hibernate é o e lá você pode baixar a última versão estável do mesmo na seção Download. Após descompactar esse arquivo, basta copiar todos os jars para o nosso projeto. HIBERNATE ANNOTATIONS Ainda falta baixar as classes correspondentes ao HibernateAnnotations, que iremos utilizar para gerar o mapeamento entre as classes Java e o banco de dados. Eles são encontrados também no site do hibernate e contem outros jars que devemos colocar no nosso projeto. Exercício 1) Abra o eclipse e selecione o workspace padrão. 2) Crie um novo projeto Java: File -> New -> Project -> Java Project Clique em Next e na próxima tela marque: Project name: hibernate Create separate source and output folders Clique em Finish. 3) Crie uma pasta lib dentro do seu projeto: Clique com o botão direito no nome do projeto e vá em New -> Folder e crie uma pasta chamada lib 4) Copie os jars do hibernate, hibernate-annotations e do derby para o seu diretório lib: - Clique com o botão direito na pasta lib e clique em Import - Selecione Archive File (na aba General), clique em Next - Selecione o arquivo hibernate-jar.zip

3 - Clique em Select All e depois em Finish 5) Precisamos adicionar os jars no class path. Expanda a pasta lib e selecione todos os jars. Clique com o botão direito e vá em: Build Path -> Add to build path... Propriedades do banco O arquivo hibernate.properties é um arquivo de propriedades para configurarmos as opções do hibernate. Há centenas de configurações possíveis, como avançados controles de cache, transações e outros. Para nosso sistema, precisamos de quatro linhas básicas, que configuram o banco, o driver, o usuário e senha, que já conhecemos, e uma linha adicional, que diz para o hibernate qual dialeto de SQL ele deve falar : o dialeto do hsqldb. Além disso, vamos colocar uma opção para que o hibernate exiba os comandos SQL que ele executar. O arquivo final fica da seguinte maneira: hibernate.dialect org.hibernate.dialect.derbydialect hibernate.connection.driver_class org.apache.derby.jdbc.embeddeddriver hibernate.connection.url jdbc:derby:bancodedados;create=true hibernate.connection.username hibernate.connection.password hibernate.show_sql true hibernate.format_sql true Exercícios Ele deve ser colocado no classpath de sua aplicação. No nosso caso, basta colocálo no diretório src. Além disso, vamos copiar também um arquivo chamado log4j.properties para configurar o log do hibernate; usamos o arquivo padrão que vem junto com o hibernate. 1-) Para economizarmos tempo, copie o arquivo properties citado acima para dentro do diretório src de nosso projeto: - Clique com o botão direito na pasta src e clique em Import - Selecione Archive File (na aba General), clique em Next - Selecione o arquivo hibernate-properties.zip - Clique em Select All e depois em Finish 2) Abra o arquivo hibernate.properties copiado e veja seu conteúdo. Em casa: Baixando os arquivos necessários Vá em e baixe o hibernate e o hibernate-annotations. Descompacte os dois arquivos baixados. Os jars necessários estão na raiz de cada pasta criada e dentro de suas respectivas pastas lib. Os arquivos hibernate.properties e o log4j.properties estão na pasta src dentro da pasta onde você descompactou o hibernate. O Derby você baixa em derby.apache.org. Copie o arquivo derby.jar de dentro da

4 pasta lib dele. Modelo Como exemplo, vamos criar um sistema de controle de Produtos para uma loja. Iniciamos nosso trabalho modelando uma classe para representar essa entidade Produto do sistema. A classe produto será uma classe JavaBean simples, como atributos privados e métodos de acesso get e set. public class Produto { private Long id; private String nome; private String descricao; private double preco; // gets e sets aqui Além de termos a classe modelando a entidade Produto no nosso programa Java, precisamos de alguma forma de persistí-lo no banco de dados. Normalmente, criaríamos a tabela em SQL (create table...) para guardar os produtos. Vamos usar o hibernate para isso. Mas antes precisamos configurar a classe para o hibernate saber usá-la. Configurando a classe/tabela Produto Antigamente (até a versão 2 do hibernate) a configuração era feito somente através de arquivos xml, o que era bem chato, e utilizávamos de uma ferramenta chamada Xdoclet que criava tais xmls através de comentários especiais. Hoje em dia o Xdoclet foi substituido pelas anotações do Java 5. A grande diferença entre os dois anotações e comentários é que as anotações são bem estruturadas, seguem um padrão e são mantidas em tempo de execução, enquanto os comentários são perdidos em tempo de compilação, que impossibilita descobrir em tempo de execução o que havia sido comentado. O código a seguir coloca nossa classe na tabela "Produto" e seta algumas propriedades e o id (chave primária). Atenção: toda classe que vai trabalhar com o Hibernate precisa de um (ou mais) campo(s) que será(ão) a chave primária (composta ou não). import javax.persistence.entity; import javax.persistence.generatedvalue; import public class Produto {

5 private Long id; private String nome; private String descricao; private double preco; // gets e sets aqui Exercícios A especificação do EJB3 define tais anotações e possui diversas opções que podemos utilizar em nosso projeto. Sempre que possuir alguma dúvida em relação as anotações lembre-se de ler a tal especificação. O API comum das anotações usadas pelo Hibernate e o EJB3 é o Java Persistence API, no pacote javax.persistence. 1-) Crie uma classe chamada Produto no pacote br.com.caelum.hibernate: File -> New -> Class Coloque o nome do pacote como br.com.caelum.hibernate Coloque o nome da classe como Produto 2) Escreva a classe como vimos acima: import javax.persistence.entity; import javax.persistence.generatedvalue; import public class private Long id; private String nome; private String descricao; private double preco; Configurando 3-) Gere os getters e setters usando o eclipse: - Selecione os atributos da classe e vá em: - Source -> Generate Getters and Setters - Clique em Select All e depois em Finish.

6 Qualquer programa que use o hibernate precisa, antes de qualquer coisa, cofigurá-lo. Fazemos isso através da classe AnnotationConfiguration. // cria a configuração do hibernate AnnotationConfiguration conf = new AnnotationConfiguration(); A partir daí podemos adicionar quantas classes desejarmos a nossa configuração. // adiciona a classe Produto conf.addannotatedclass(produto.class); O Hibernate requer que descrevamos como a classe se relaciona com as tabelas no banco de dados e fizemos isso através das anotações do Hibernate. Ao adicionarmos a classe Produto na nossa configuração, o Hibernate lê essas configurações. XML Essa configuração poderia ser feita através de um arquivo xml chamado hibernate.cfg.xml, e em vez de utilizarmos as chamadas ao método addannotatedclass iríamos executar o método configure(). Criando as tabelas SCHEMA EXPORT Vamos criar um programa que gera as tabelas do banco. Dada uma configuração, a classe SchemaExport é capaz de gerar o código DDL de criação de tabelas em determinado banco (no nosso caso, o hsqldb). Exercícios Para exportar tais tabelas, fazemos uso do método create que recebe dois argumentos booleanos. O primeiro diz se desejamos ver o código DDL e o segundo se desejamos executá-lo realmente. // gera a tabela no banco new SchemaExport(conf).create(true, true); O código final da classe GeraTabelas, incluindo a configuração, você vê no exercício abaixo: 1-) Crie a classe GeraTabelas: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate E o nome da classe como GeraTabelas 2) Escreva o método main e, dentro dele, faça a configuração do hibernate e depois gere a tabela, da seguinte forma: import org.hibernate.cfg.annotationconfiguration; import org.hibernate.tool.hbm2ddl.schemaexport; public class GeraTabelas { public static void main(string[] args) {

7 // cria a configuração do hibernate AnnotationConfiguration conf = new AnnotationConfiguration(); // adiciona a classe Produto conf.addannotatedclass(produto.class); // gera a tabela no banco new SchemaExport(conf).create(true, true); 3-) Crie suas tabelas executando o código anterior. Clique com o botão direito no nome da classe, vá em: Run As... -> Java Application O Hibernate deve reclamar que não configuramos nenhum arquivo de log para ele (dois warnings, ignore-os) e mostrar o código SQL que ele executou no banco. Sessões O hibernate nãp te dá acesso direto às conexões com o banco de dados. Ele trabalha com a idéia de sessões de uso do banco. Para efetuar alguma operação no banco (INSERT, SELECT,...) você precisa, antes, obter uma sessão do hibernate. O Hibernate provê uma fábrica de sessões, onde você pode obter uma sessão quando quiser. Na configuração do hibernate, chamamos o método buildsessionfactory() que nos devolve uma SessionFactory. SessionFactory factory = conf.buildsessionfactory(); factory.close(); O Hibernate gera sessões através dessa factory. Essas sessões são responsáveis por se conectar ao banco de dados e persistir e buscar objetos no mesmo. A maneira mais simples de abrir uma nova sessão e fechar a mesma é: Session session = factory.opensession(); Hibernate Session Factory Sempre que formos trabalhar com o Hibernate, teremos que configurá-lo, obter a fábrica de sessões e depois obter uma sessão. Ao invés de espalhar esse código por todo nosso sistema, vamos encapsulá-lo em algum lugar, em alguma classe. Vamos criar uma classe HibernateFactory que cuidará de: - instanciar a SessionFactory do Hibernate; - nos dar Sessions do hibernate quando precisarmos. import org.hibernate.session; import org.hibernate.sessionfactory;

8 import org.hibernate.cfg.annotationconfiguration; public class HibernateFactory { Exercícios private static SessionFactory factory; static { AnnotationConfiguration cfg = new AnnotationConfiguration(); cfg.addannotatedclass(produto.class); factory = cfg.buildsessionfactory(); public Session getsession() { return factory.opensession(); O bloco estático das linhas 4 a 8 cuidará de configurar o Hibernate e pegar uma SessionFactory. Lembre-se que o bloco estático é executado automaticamente quando a classe é carregada pelo Class Loader e só neste momento; ele não será executado outras vezes, como quando você der new HibernateFactory(). Ou seja, a configuração do Hibernate será feita uma única vez em todo seu programa. O método getsession devolverá uma Session, conseguida através do SessionFactory do Hibernate. 1-) Crie a classe HibernateFactory: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate E o nome da classe como HibernateFactory 2-) Implemente a classe HibernateFactory como está na seção anterior. No momento de importar Session lembre-se que não é a classic! import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.cfg.annotationconfiguration; public class HibernateFactory { private static SessionFactory factory; static { AnnotationConfiguration cfg = new AnnotationConfiguration(); cfg.addannotatedclass(produto.class); factory = cfg.buildsessionfactory();

9 public Session getsession() { return factory.opensession(); Erros comuns 1-) O erro mais comum ao criar a classe HibernateFactory está em importar org.hibernate.classic.session ao invés de org.hibernate.session. Uma vez que o método opensession devolve uma Session que não é do tipo classic, o Eclipse pede para fazer um casting. Não faça o casting! Remova o seu import e adicione o import correto. Salvando novos objetos Exercícios Depois de todos esses passos de configuração e etc, vamos agora efetivamente trabalhar com o banco de dados, inserindo um novo Produto. Através de um objeto do tipo Session é possível gravar novos objetos do tipo Produto no banco. Para tanto basta criar o objeto e depois utilizar o método save. Mas como usamos um banco transacional, precisamos usar Transações. Isso é feito com o begintransaction() na session e depois com o commit() para comitar. // cria um produto p e o popula Produto p = new Produto(); p.setnome("nome aqui"); p.setdescricao("descrição aqui"); p.setpreco(100.50); // obtém uma sessão // Inicia uma transação Transaction transaction = session.begintransaction(); // salva o produto session.save(p); // Comita a transação transaction.commit(); // veja o id gerado System.out.println("ID do produto: " + p.getid()); 1-) Crie a classe AdicionaProduto: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate

10 E o nome da classe como AdicionaProduto 2) Implemente o método main para adicionar um produto no banco de dados, conforme vimos acima: import org.hibernate.session; public class AdicionaProduto { public static void main(string[] args) { // cria um produto p e o popula Produto p = new Produto(); p.setnome("nome aqui"); p.setdescricao("descrição aqui"); p.setpreco(100.50); // obtém uma sessão // Inicia uma transação Transaction transaction = session.begintransaction(); // salva o produto session.save(p); // Comita a transação transaction.commit(); // veja o id gerado System.out.println("ID do produto: " + p.getid()); Buscando pelo id 3-) Adicione um produto executando o código anterior. Clique com o botão direito no nome da classe, vá em: Run As... -> Java Application O Hibernate deve mostrar o código SQL que ele executou no banco. 4-) (opcional) Adicione outros produtos no banco (altere os dados no programa e rode-o outras vezes). Para buscar um objeto pela chave primária, no caso o seu id, utilizamos o método load, conforme o exemplo a seguir: // procura o produto de id 2 Produto p = (Produto) session.load(produto.class, 1L);

11 // imprime o nome do Produto System.out.println(p.getNome()); Exercício 1) Crie uma classe BuscaProduto: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate E o nome da classe como BuscaProduto 2) Crie o método main e busque um Produto pelo id: import org.hibernate.session; public class BuscaProduto { public static void main(string[] args) { // obtém uma sessão // procura o produto de id 2 Produto p = (Produto) session.load(produto.class, 1L); // imprime o nome do Produto System.out.println(p.getNome()); 3) Rode a classe e observe o SQL gerado pelo Hibernate: - Clique com o botão direito na classe e vá em: Run as -> Java Application Listando todos os produtos Exercício Vamos listar todos os produtos existentes no banco de dados. Para isso, vamos usar o método createcriteria de Session que cria um Criteria. Através de um Criteria, temos acesso a diversas operações no banco de dados; uma delas é listar tudo com o método list(). Dada uma Session, para listarmos todos os produtos fazemos: // obtém lista de todos os produtos List<Produto> produtos = session.createcriteria(produto.class).list(); Depois, basta percorrer essa lista e imprimir todos os nomes, por exemplo: // percorre os produtos e imprime o nome de cada um for (Produto p : produtos) { System.out.println(p.getNome());

12 1) Crie uma classe ListaProdutos: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate E o nome da classe como ListaProdutos 2) Crie o método main e busque todos os produtos do banco: import java.util.list; import org.hibernate.session; public class ListaProdutos { public static void main(string[] args) { // obtém lista de todos os produtos List<Produto> produtos = session.createcriteria(produto.class).list(); // percorre os produtos e imprime o nome de cada um for (Produto p : produtos) { System.out.println(p.getNome()); 3) Rode a classe e observe o SQL gerado pelo Hibernate: - Clique com o botão direito na classe e vá em: Run as -> Java Application Buscando com WHERE em HQL No exemplo anterior, usamos a chamada Criteria API, uma API do hibernate que permite que busquemos no banco através da chamada de métodos, sem escrever SQL. Embora a Criteria API seja muito poderosa e seja virtualmente possível fazer tudo com ela, há ainda uma segunda possibilidade que eventualmente pode ser mais simples e direta: o uso de uma linguagem de queries como o SQL. O problema de usarmos SQL diretamente, porém, é que, como vimos, ele é dependente de banco de dados. Para solucionar isso, o hibernate criou uma linguagem de queries própria, a HQL, ou Hibernate Query Language. A grande vantagem é que ela é extremamente semelhante ao SQL que estamos acostumados mas é portável. Ou seja, na hora de executar realmente no banco, o hibernate traduz o comando HQL para o SQL específico do banco em questão. Para buscarmos os produtos usando alguma cláusula WHERE, por exemplo buscar apenas os produtos de id maior que 1, podemos fazer: // obtém lista dos produtos com id maior que 1 List<Produto> produtos = session.createquery("from Produto where id > 1").list();

13 Exercício 1) Crie uma classe ListaProdutosHQL: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate E o nome da classe como ListaProdutosHQL 2) Crie o método main e busque no banco os produtos com id maior que 1 usando HQL: import java.util.list; import org.hibernate.session; public class ListaProdutosHQL { public static void main(string[] args) { // obtém lista dos produtos com id maior que 1 List<Produto> produtos = session.createquery("from Produto where id > 1").list(); // imprime nome e id de cada produto for (Produto p : produtos) { System.out.println(p.getId() + " - " + p.getnome()); 3) Rode a classe e observe o SQL gerado pelo Hibernate: - Clique com o botão direito na classe e vá em: Run as -> Java Application Remoção (DELETE) Assim como inserir usando o Hibernate é muito simples, remover também é bastante simples. Basta chamarmos o método delete() na session passando o objeto que queremos remover. No nosso caso, passamos o Produto a ser removido. Cuidado que, assim como em um DELETE normal, sempre que vamos remover alguém precisamos dizer qual é o id dele. Então nosso Produto precisa estar com o id setado. Não se esqueça também que precisamos de uma Transaction para executar algo no banco. O código final fica: // cria um Produto e seta seu id Produto p = new Produto(); p.setid(0l); // lembre que id é um Long! // obtém sessão

14 // abre transação Transaction transaction = session.begintransaction(); // apaga o produto session.delete(p); // comita a transação transaction.commit(); Exercício 1) Crie uma classe RemoveProduto: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate E o nome da classe como RemoveProduto 2) Crie o método main e remova o produto de id 0: import org.hibernate.session; import org.hibernate.transaction; public class RemoveProduto { public static void main(string[] args) { // cria um Produto e seta seu id Produto p = new Produto(); p.setid(0l); // lembre que id é um Long! // obtém sessão // abre transação Transaction transaction = session.begintransaction(); // apaga o produto session.delete(p); // comita a transação transaction.commit(); 3) Rode a classe e observe o SQL gerado pelo Hibernate: - Clique com o botão direito na classe e vá em: Run as -> Java Application Uma categoria E se cada Produto na nossa loja tivesse uma Categoria? Ou seja, um relacionamento muitos para um? Com o hibernate, é muito fácil criar relacionamentos

15 entre entidades. Começamos criando uma classe para representar uma Categoria com, por exemplo, id e nome. Como ela é uma classe a ser gerenciada pelo Hibernate, marcamos as anotações apropriadas. A classe final ficará assim: import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import public class private Long id; private String nome; // gets e sets Repare que ela é muito parecida com a classe Produto. Exercício 1-) Crie uma classe chamada Categoria no pacote br.com.caelum.hibernate: File -> New -> Class Coloque o nome do pacote como br.com.caelum.hibernate Coloque o nome da classe como Categoria 2) Escreva a classe como vimos acima: import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import public class private Long id; private String nome; 3-) Gere os getters e setters usando o eclipse:

16 - Selecione os atributos da classe e vá em: - Source -> Generate Getters and Setters - Clique em Select All e depois em Finish. Produto tem uma Categoria No nosso sistema, cada Produto possui uma Categoria. Em Java, representamos isso com um atributo na classe Produto. Ou seja, colocamos um atributo do tipo Categoria dentro de Produto (e geramos get e set para ele). Mas precisamos, além disso, instruir o hibernate de que estamos fazendo na verdade um relacionamento Muitos para Um no banco de dados também. Fazemos isso com uma anotação simples, no atributo categoria. A classe Produto, com as modificações fica: import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import public class private Long id; private String nome; private String descricao; private double private Categoria categoria; // gets e sets aqui Exercício 1) Abra sua classe Produto. Acrescente um atributo do tipo Categoria chamado categoria. Marque esse atributo com private Categoria categoria; 2) Gere get e set para este novo atributo. Selecione o atributo que você acabou de criar e vá em: - Source -> Generate Getters And Setters - Cliquem em Select All e depois em Finish

17 3) O código final de sua classe Produto deve estar assim: import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import public class private Long id; private String nome; private String descricao; private double private Categoria categoria; // gets e sets aqui Recriando as tabelas Exercício Agora que adicionamos um campo novo na tabela Produto e criamos uma nova classe a ser persistida pelo hibernate, precisamos recriar as tabelas. Vamos usar a classe GeraTabelas que fizemos anteriormente. Precisamos apenas indicar, na nossa configuração, que agora temos, além de Produto, também Categoria: // cria a configuração do hibernate AnnotationConfiguration conf = new AnnotationConfiguration(); // adiciona as entidades conf.addannotatedclass(produto.class); conf.addannotatedclass(categoria.class); // gera o esquema do banco new SchemaExport(conf).create(true, true); 1) Abra sua classe GeraTabelas. Logo depois de adicionar o Produto à configuração, adicione a Categoria também. O código final de sua classe deve ser: import org.hibernate.cfg.annotationconfiguration; import org.hibernate.tool.hbm2ddl.schemaexport;

18 public class GeraTabelas { public static void main(string[] args) { // cria a configuraã Ã o do hibernate AnnotationConfiguration conf = new AnnotationConfiguration(); // adiciona as entidades conf.addannotatedclass(produto.class); conf.addannotatedclass(categoria.class); // gera o esquema do banco new SchemaExport(conf).create(true, true); 2) Rode a classe e observe o SQL gerado pelo Hibernate: - Clique com o botão direito na classe e vá em: Run as -> Java Application Adicionar um produto com categoria Que tal adicionar um Produto que possua uma Categoria? Podemos fazer isso facilmente com o Hibernate, usando o método save na session(). Mas antes, lembre de alterar a nossa classe HibernateFactory para também incluir a configuração da classe Categoria, assim como fizemos no GeraTabelas. A classe HibernateFactory no final ficará assim: import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.cfg.annotationconfiguration; public class HibernateFactory { private static SessionFactory factory; static { AnnotationConfiguration cfg = new AnnotationConfiguration(); cfg.addannotatedclass(produto.class); cfg.addannotatedclass(categoria.class); factory = cfg.buildsessionfactory(); public Session getsession() { return factory.opensession(); Para adicionarmos um Produto com alguma Categoria, primeiro criamos uma Categoria: Categoria c = new Categoria(); c.setnome("uma categoria"); E criamos um Produto:

19 Exercício Produto p = new Produto(); p.setnome("nome do produto"); p.setdescricao("sua descricao"); p.setpreco(123.00); Como dizer agora que o Produto p é da Catgoria c? Basta chamar o setcategoria! p.setcategoria(c); Apenas isso! Agora basta obtermos a session, abrirmos uma transação, salvarmos a categoria e depois salvarmos o produto. Só isso! Transaction transaction = session.begintransaction(); session.save(c); session.save(p); transaction.commit(); 1) Crie uma classe AdicionaProdutoComCategoria: Vá em File -> New -> Class Coloque o pacote como br.com.caelum.hibernate E o nome da classe como AdicionaProdutoComCategoria 2) Crie o método main e implemente o código visto acima: import org.hibernate.session; import org.hibernate.transaction; public class AdicionaProdutoComCategoria { public static void main(string[] args) { Categoria c = new Categoria(); c.setnome("uma categoria"); Produto p = new Produto(); p.setnome("nome do produto"); p.setdescricao("sua descricao"); p.setpreco(123.00); p.setcategoria(c); Transaction transaction = session.begintransaction(); session.save(c); session.save(p); transaction.commit();

20 3) Rode a classe e observe o SQL gerado pelo Hibernate: - Clique com o botão direito na classe e vá em: Run as -> Java Application Adicional: lista os produtos e sua categoria Como fazer agora a listagem de produtos listar também o nome da categoria do produto? Joins? Com hibernate, basta acessarmos no produto, o getcategoria() e depois o getnome(): p.getcategoria().getnome() Sem complicação! O Hibernate se vira com o join que precisar fazer. Na nossa classe ListaProdutos bastaria alterar o for para imprimir o nome da categoria também, só isso! Veja o código completo do ListaProdutos após a modificação (note que a única modificação necessária está em amarelo): import java.util.list; import org.hibernate.session; public class ListaProdutos { public static void main(string[] args) { // obtém lista de todos os produtos List<Produto> produtos = session.createcriteria(produto.class).list(); // percorre os produtos e imprime o nome de cada um for (Produto p : produtos) { System.out.println( p.getnome() + ", categoria: " + p.getcategoria().getnome()); Adicional: Exercícios para o preguiçoso 1-) Teste um programa que faz somente o seguinte: busca um produto por id. O código deve somente buscar o produto e não imprimir nada! Qual o resultado? Produto encontrado = (Produto) session.load(produto.class,new Long(1)); 2-) Tente imprimir o nome do produto do teste anterior, o que acontece? Produto encontrado = (Produto) session.load(produto.class,new Long(1)); System.out.println(encontrado.getNome()); 3-) Antes de imprimir o nome do produto, tente imprmir uma mensagem qualquer, do tipo: O select já foi feito. E agora? Como isso é possível?

21 Produto encontrado = (Produto) session.load(produto.class,new Long(1)); System.out.println( O select já foi feito ); System.out.println(encontrado.getNome()); Então, onde está o código do select? Ele deve estar no método getnome(), certo? 4-) Imprima o nome da classe do objeto referenciado pela variável encontrado: Produto encontrado = (Produto) session.load(produto.class,new Long(1)); System.out.println( O select já foi feito ); System.out.println(encontrado.getNome()); System.out.println(encontrado.getClass().getName()); O Hibernate retorna um objeto cujo tipo estende Produto: ele não deixa de ser um Produto mas não é somente um Produto. O método getnome() foi sobrescrito nessa classe para fazer a busca na primeira vez que é chamado, economizando tempo de processamento. É claro que para fazer o fine-tuning do Hibernate é interessante conhecer muito mais a fundo o que o Hibernate faz e como ele faz isso. Adicional: Fazer paginação Usando a classe ListaProdutos temos a lista com todos os produtos no banco de dados. Em um sistema com listagens longas, normalmente apresentamos a lista por páginas. Para implementar paginação, precisamos determinar que a listagem deve começar em um determinado ponto e ser de um determinado tamanho. Usando o Criteria, como anteriormente, isso é bastante simples. Podemos fazer o seguinte: List<Produto> produtos = session.createcriteria(produto.class).setfirstresult(0).setmaxresults(2).list(); O método setmaxresults determina o tamanho da lista (resultados por página) e o método setfirstresult determina em que ponto a listagem deve ter início. Por fim, basta chamar o método list() e a listagem devolvida será apenas daquela página! No nosso caso estamos listando a partir do primeiro mas apenas 2 resultados. Adicional: Atualiza (UPDATE) Assim como save e delete, podemos fazer o update chamando o método update() na session e passando o produto a ser atualizado. Lembre que, para um update no banco, além dos dados normais, precisamos do id. O código final, com controle de transações fica: import org.hibernate.session; import org.hibernate.transaction; public class AtualizaProduto {

22 public static void main(string[] args) { // cria um Produto Produto p = new Produto(); p.setid(1l); // lembre que id é um Long! p.setnome("novo nome"); p.setdescricao("nova descricao"); p.setpreco(78.50); // obtém sessão // abre transação Transaction transaction = session.begintransaction(); // atualiza o produto session.update(p); // comita a transação transaction.commit();

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado

Leia mais

Configurar o Furbot no Eclipse

Configurar o Furbot no Eclipse Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão

Leia mais

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA

Leia mais

HIBERNATE Criando um projeto em Java + Hibernate do zero

HIBERNATE Criando um projeto em Java + Hibernate do zero HIBERNATE Criando um projeto em Java + Hibernate do zero SUMÁRIO 1 Instalação do NetBeans 2 Instalação do Java Development Kit (JDK) 3 Criar projeto no NetBeans 4 O arquivo hibernate.cfg.xml 5 Criar as

Leia mais

POO Programação Orientada a Objetos

POO Programação Orientada a Objetos POO Programação Orientada a Objetos Mãos à Obra Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 O sistema Nossa empresa foi contratada por uma pequena gravadora de música que deseja entrar

Leia mais

Criar uma aplicação JPA2 com EclipseLink e H2

Criar uma aplicação JPA2 com EclipseLink e H2 Criar uma aplicação JPA2 com EclipseLink e H2 1) Criar uma aplicação Java no NetBeans. File > New Project > Java, Java Application > Project name: JPA2 Finish. 2) Acrescentar ao Projeto NetBeans a biblioteca

Leia mais

Criando uma agenda simples com NetBeans 6.5

Criando uma agenda simples com NetBeans 6.5 Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de

Leia mais

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL

Leia mais

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

LINGUAGEM ORIENTADA A OBJETOS

LINGUAGEM ORIENTADA A OBJETOS LINGUAGEM ORIENTADA A OBJETOS TI MÓDULO II O ECLIPSE O eclipse é uma IDE Open Source (código fonte aberto) que serve para o desenvolvimento em muitas linguagens: PHP Java Python HTML C/C++ A IDE Eclipse

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

ANDROID APPLICATION PROJECT

ANDROID APPLICATION PROJECT Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Procedimentos de Implantação ireport x Protheus

Procedimentos de Implantação ireport x Protheus Índice 1. INTRODUÇÃO... 2 2. CONFIGURAÇÃO... 2 1.1 Configurando o Protheus... 2 2.2 Configurando o ireports no Protheus... 2 2.3 Incluindo relatórios no Protheus... 4 3. CONFIGURANDO E UTILIZANDO O IREPORT

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

Criando sua primeira aplicação JAVA com o Eclipse

Criando sua primeira aplicação JAVA com o Eclipse Criando sua primeira aplicação JAVA com o Eclipse Fernando Boaglio Instalou o Eclipse mas não sabia por onde começar? Aqui você encontra uma breve explicação de como criar sua primeira aplicação JAVA no

Leia mais

Instalando e configurando o Java Development Kit (JDK)

Instalando e configurando o Java Development Kit (JDK) Tutorial elaborado pelo professor José Gonçalo dos Santos Contato: jose.goncalo.santos@gmail.com Instalando e configurando o Java Development Kit (JDK) 1.1 Obtendo o JDK + JRE Para obter o JDK e o JRE

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

INSTALANDO E CONFIGURANDO O MY SQL

INSTALANDO E CONFIGURANDO O MY SQL INSTALANDO E CONFIGURANDO O MY SQL Este tutorial tem como objetivo mostrar como instalar o banco de dados My SQL em ambiente Windows e é destinado aqueles que ainda não tiveram um contato com a ferramenta.

Leia mais

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais Curso de Java Acesso a banco de dados através do Hibernate Todos os direitos reservados Klais Motivação Java é uma linguagem orientada a objetos: Numa aplicação, o uso de objetos é um recurso importante

Leia mais

http://www.multside.com.br CODE IGNITER INSTALAÇÃO & BANCO DE DADOS

http://www.multside.com.br CODE IGNITER INSTALAÇÃO & BANCO DE DADOS CODE IGNITER INSTALAÇÃO & BANCO DE DADOS INSTALAÇÃO Instalar o code-igniter é muito simples, basta que você tenha um servidor que rode PHP 5 (para saber consulte a documentação PHP do seu servidor). Após

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Programação online em Java

Programação online em Java Universidade Federal do ABC Disciplina: Processamento da Informação Assunto: Programação online em Java Programação online em Java Conteúdo Conteúdo...1 Introdução... 1 1.1.Programas necessários... 1 1.2.Visão

Leia mais

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco). Permissões de compartilhamento e NTFS - Parte 2 Criando e compartilhando uma pasta - Prática Autor: Júlio Battisti - Site: www.juliobattisti.com.br Neste tópico vamos criar e compartilhar uma pasta chamada

Leia mais

NetBeans. Conhecendo um pouco da IDE

NetBeans. Conhecendo um pouco da IDE NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica

Leia mais

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide Para criar uma aplicação J2EE, utilizando Eclipse e jboss-ide, é necessário ter instalado em seu computador o JDK 1.5 (versão atual). Abaixo seguem

Leia mais

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS Este tutorial foi desenvolvido pelos analistas Hézio Silva e José Mendes pertencentes ao quadro de TI do Banco da Amazônia S/A, sediado em Belém-Pa e

Leia mais

Parte II Persistência entre Modelos de Dados

Parte II Persistência entre Modelos de Dados Parte II Persistência entre Modelos de Dados Clodis Boscarioli Agenda: Hibernate Introdução; Configurações; Mapeamento com XML; Exemplos; Associações: 1-n; n-1; n-n; 1-1. Hibernate - Introdução O Hibernate

Leia mais

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:

Leia mais

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira www.linksinfo.com.br Tutorial versão 1.0 Sobre o Logic basic: Parte 1 Sobre o Logic Basic e o SQL O Logic Basic é uma linguagem de programação

Leia mais

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

Lazarus pelo SVN Linux/Windows

Lazarus pelo SVN Linux/Windows Lazarus pelo SVN Linux/Windows Sei que não faltam artigos sobre como obter e compilar o Lazarus e o FPC pelo SVN, mas sei também que nunca é de mais divulgar um pouco mais e talvez escrever algo diferente.

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

TUTORIAL SISTEMA DE CONTROLE DE ACESSO

TUTORIAL SISTEMA DE CONTROLE DE ACESSO FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO WISLIY LOPES JULIANO PIROZZELLI TULIO TSURUDA LUIZ GUILHERME MENDES TUTORIAL SISTEMA DE CONTROLE DE ACESSO GOIÂNIA JUNHO DE 2014 Sumário

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

Manual do Google agenda. criação e compartilhamento de agendas

Manual do Google agenda. criação e compartilhamento de agendas Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando

Leia mais

Segurança de Acesso a Banco de Dados no MS SQL Server

Segurança de Acesso a Banco de Dados no MS SQL Server Segurança de Acesso a Banco de Dados no MS SQL Server Para efetuar com sucesso os exemplos que serão mostrados a seguir é necessário que exista no SQL Server uma pessoa que se conecte como Administrador,

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Slim... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento da

Leia mais

Resolvendo problemas de conexão de rede wireless no pregão 83/2008

Resolvendo problemas de conexão de rede wireless no pregão 83/2008 Resolvendo problemas de conexão de rede wireless no pregão 83/2008 Recentemente forma instalados em minha cidade novos laboratórios do pregão 83/2008 mas em nenhum deles os terminais acessavam a rede.

Leia mais

MANUAL PORTAL CLIENTE AVANÇO

MANUAL PORTAL CLIENTE AVANÇO MANUAL PORTAL CLIENTE AVANÇO [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email] MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA Material Desenvolvido para Suporte Avanço Autor:

Leia mais

Tutorial: Como fazer o backup (cópia) e a restauração de conteúdos no Moodle?

Tutorial: Como fazer o backup (cópia) e a restauração de conteúdos no Moodle? Tutorial: Como fazer o backup (cópia) e a restauração de conteúdos no Moodle? Olá, professor(a), Este tutorial tem o objetivo de lhe auxiliar na realização de backup do conteúdo de uma disciplina já oferecida,

Leia mais

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Millennium... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento

Leia mais

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências

Leia mais

RevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN 2178-5589.

RevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN 2178-5589. Tutorial de Instalação e Uso do Eclipse Alexandre V. S. Lage, Caio de O. Leal, Eduardo A. F. da Silva, Felipe C. C. Trindade, Gutierre da C. Oliveira e Miguel G. P. de Carvalho. INTRODUÇÃO O Eclipse (2012)

Leia mais

Data Transformation Services (DTS) por Anderson Ferreira Souza

Data Transformation Services (DTS) por Anderson Ferreira Souza Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo

Leia mais

Tutorial de instalação do Java 7 no Windows 7.

Tutorial de instalação do Java 7 no Windows 7. Tutorial de instalação do Java 7 no Windows 7. Neste tutorial vamos instalar um ambiente de desenvolvimento Java JDK 7 no Windows 7. Quando falamos em ambiente Java, estamos nos referindo ao conjunto de

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Softblue Logic IDE Guia de Instalação www.softblue.com.br Sumário 1 O Ensino da Lógica de Programação... 1 2 A Ferramenta... 1 3 Funcionalidades... 2 4 Instalação... 3 4.1 Windows...

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Projeto Amadeus. Guia de Instalação 00.95.00 Windows

Projeto Amadeus. Guia de Instalação 00.95.00 Windows Projeto Amadeus Guia de Instalação 00.95.00 Windows Agosto 2010 Sumário 1. Introdução...3 2. Pré-Requisitos...4 2.1 Máquina Virtual Java...4 2.2 Apache TomCat 6.0.18...4 2.3 PostgreSQL 8.3...5 3. Instalando

Leia mais

Usando o Google Code como repositório para projetos no Eclipse com SubClipse.

Usando o Google Code como repositório para projetos no Eclipse com SubClipse. Usando o Google Code como repositório para projetos no Eclipse com SubClipse. Autor: Rafael Oliveira Lopes http://www.dcc.ufrj.br/~rlopes Data: 02 de Junho de 2007 Introdução Senhores, Diante de alguns

Leia mais

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações.

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações. Integração de Controle de versão com Redmine. A integração do controle de versão pode permitir uma interatividade bem interessante entre os tickets e projetos do redmine com o controle de versão segue

Leia mais

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework

Leia mais

OMT-G Design. Instalação por pacotes

OMT-G Design. Instalação por pacotes OMT-G Design A plataforma Eclipse OMT-G Design não é um software independente, é um plug-in que se utiliza dos mecanismos de extensão do Eclipse que por sua vez é um ambiente de desenvolvimento de software.

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,

Leia mais

Manual do Ambiente Moodle para Professores

Manual do Ambiente Moodle para Professores UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0

Leia mais

EXEMPLO DE COMO FAZER UMA MALA DIRETA

EXEMPLO DE COMO FAZER UMA MALA DIRETA EXEMPLO DE COMO FAZER UMA MALA DIRETA OBS: Para esta nota de aula foi utilizada como referência: Apostila Mala Direta Santos, Jorge Rodrigues dos. Foram adaptados os comando para utilizar mala direta no

Leia mais

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

Leia mais

Manual de Instalação e Configuração do SQL Express

Manual de Instalação e Configuração do SQL Express Manual de Instalação e Configuração do SQL Express Data alteração: 19/07/11 Pré Requisitos: Acesse o seguinte endereço e faça o download gratuito do SQL SRVER EXPRESS, conforme a sua plataforma x32 ou

Leia mais

STK (Start Kit DARUMA) Driver Genérico Somente Texto para a impressora DR700 ETHERNET

STK (Start Kit DARUMA) Driver Genérico Somente Texto para a impressora DR700 ETHERNET STK (Start Kit DARUMA) Driver Genérico Somente Texto para a impressora DR700 ETHERNET Neste STK mostraremos como instalar e configurar o driver Genérico Somente Texto com a impressora DR700 Ethernet, no

Leia mais

Tutoriais de apoio para a migração do e-mail @pmmc.com.br para @se-pmmc.com.br Atualização: 30/04/2014

Tutoriais de apoio para a migração do e-mail @pmmc.com.br para @se-pmmc.com.br Atualização: 30/04/2014 Tutoriais de apoio para a migração do e-mail @pmmc.com.br para @se-pmmc.com.br Atualização: 30/04/2014 Sumário Introdução... 3 1. Redirecionando e-mails novos... 4 2. Fazendo backup e encaminhando e-mails

Leia mais

Procedimentos para Instalação do Sisloc

Procedimentos para Instalação do Sisloc Procedimentos para Instalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Instalação do Sisloc... 3 Passo a passo... 3 3. Instalação da base de dados Sisloc... 16 Passo a passo... 16 4. Instalação

Leia mais

Inventario de produtos

Inventario de produtos Inventario de produtos Parar o TAC. Gerar o inventario. Informações de erros na importação de produtos. Produtos sem código tributário associado. A posse de produtos no Thotau. Como corrigir as posses

Leia mais

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Sumário Objetivos do Blog... 2 Log-in... 3 Esqueci minha senha... 4 Utilizando o Blog... 5 Encontrando seu Blog... 5 Conhecendo o

Leia mais

Manipulação de Banco de Dados com Java 1. Objetivos

Manipulação de Banco de Dados com Java 1. Objetivos Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A

Leia mais

Configurações de Templates no SolidWorks 2011

Configurações de Templates no SolidWorks 2011 Configurações de Templates no SolidWorks 2011 Esse tutorial tem como intuito a criação de propriedades personalizadas, a criação destas propriedades é uma forma de automatizar o preenchimentos de informações

Leia mais

Veja abaixo um exemplo de como os dados são mostrados quando usamos o

Veja abaixo um exemplo de como os dados são mostrados quando usamos o Objeto DataGridView O controle DataGridView é um dos objetos utilizados para exibir dados de tabelas de um banco de dados. Ele está disponível na guia de objetos Data na janela de objetos do vb.net. Será

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...

Leia mais

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Omondo EclipseUML Ricardo Rodrigues Lecheta Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Introdução Neste tutorial será apresentado

Leia mais

Instalando o Internet Information Services no Windows XP

Instalando o Internet Information Services no Windows XP Internet Information Services - IIS Se você migrou recentemente do Windows 95 ou 98 para o novo sitema operacional da Microsoft Windows XP, e utilizava antes o Personal Web Server, deve ter notado que

Leia mais

Manual das funcionalidades Webmail AASP

Manual das funcionalidades Webmail AASP Manual das funcionalidades Webmail AASP 1. Configurações iniciais 2. Regras 3. Histórico da conta 4. Autorresposta 5. Dados de acesso (alterando senha de acesso) 6. Identidade (assinatura) 7. Redirecionamento

Leia mais

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Objetivos: Entender o funcionamento dos programas Java via linha de comando Algoritmos e Programação I Aula de Laboratório Objetivos: Entender o funcionamento dos programas Java via linha de comando 1. A Linha de Comando: DOS ou Shell Apesar dos usuários geralmente não enxergarem

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. Data: 14/8 Página 1 de 9 Primeiros passos Introdução Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. No tutorial anterior, mostramos como

Leia mais

Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência

Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência Tutorial JPA em ambiente Eclipse Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência 1-Selecione a perspectiva Java JPA: window, open perspective, other,

Leia mais

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014

Leia mais

Tutorial: Serviços web e suas composições

Tutorial: Serviços web e suas composições Tutorial: Serviços web e suas composições Objetivo: Este tutorial tem como objetivo apresentar o desenvolvimento de serviços web através do framework Axis2. Além disso, realizar uma composição através

Leia mais

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014 UNIVERSIDADE CEUMA Ambientação JAVA Versão 0.1 08/01/2014 Este é um modelo de configuração para desenvolvimento no ambiente Java. MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 Sumário Sumário... 2 1

Leia mais

Passo 1: Abra seu navegador e digite http://www.no-ip.com. Passo 2: Na tela que surgir, clique em Get Started.

Passo 1: Abra seu navegador e digite http://www.no-ip.com. Passo 2: Na tela que surgir, clique em Get Started. 1 - Como obter seu DNS Dinâmico no No-IP O No-IP, é um sistema de DNS (Domain Name Server), que converte o seu endereço IP em um nome. O que o No-IP faz, é converter o nome do tipo minhacameraip.no-ip.org

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7 Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7 Para criar um grupo doméstico e compartilhar arquivos é necessário que tenhamos pelo menos dois computadores ligados entre si (em

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

CONFIGURAÇÃO MINIMA EXIGIDA:

CONFIGURAÇÃO MINIMA EXIGIDA: Este tutorial parte do princípio que seu usuário já possua conhecimentos básicos sobre hardware, sistema operacional Windows XP ou superior, firewall, protocolo de rede TCP/IP e instalação de software.

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais