COMUNICAÇÃO ENTRE JAVA E MONGODB
A Quinta postagem do blog será sobre a parte prática da minha monografia de especialização em Desenvolvimento Java. Neste capitulo irá aprender a usar MongoDB juntamente com Java.
Boa Leitura.
Segundo o site da Oracle,
“Java é uma linguagem de programação e plataforma computacional lançada pela primeira vez pela Sun Microsystems em 1995. Existem muitas aplicações e sites que não funcionarão, a menos que você tenha o Java instalado, e mais desses são criados todos os dias. O Java é rápido, seguro e confiável. De laptops a data centers, consoles de games a supercomputadores científicos, telefones celulares à Internet, o Java está em todos os lugares!”
Segundo site do MongoDB (2016) para uma aplicação se comunicar com o MongoDB, precisamos de uma biblioteca cliente que chamamos de drivers. Estes drives lidam com toda a interação com o banco de dados em uma linguagem apropriada para a aplicação.
De acordo com Lennon (2012), “Drives oficiais disponíveis para C, C#, C++, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby e Scala, com uma ampla variedade de drives suportados pela comunidade disponível para outras linguagens”.
OBTENDO O AMBIENTE DE TRABALHO
Nesta seção obteremos o nosso ambiente de desenvolvimento para trabalhar com o mongo no Java.
Inicialmente obteremos uma IDE para esta trabalhando com o Java, utilizaremos a plataforma eclipse, por ser considerada uma das melhores IDE para desenvolvimento na linguagem Java:
- Eclipse: Em http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neonrc3. Obtenha a versão compatível com seu sistema operacional. Descompactando em qualquer lugar do computador.
- Apache Maven: Em https://maven.apache.org/download.cgi. Descompactando
em qualquer lugar do computador.
CRIANDO UM PROJETO JAVA COM MONGO
Iremos desenvolver uma simples aplicação Java utilizando o maven para esta obtendo o driver do mongo para sua conexão.
- Vá em File → New → Maven Project e configure da conforme as figuras 43 e 44
Figura 43 — Novo Projeto Maven Fonte: Gerado pelo Eclipse[/caption]
Figura 44 — Configuração do Projeto Maven. Fonte: Gerado pelo Eclipse.[/caption]
Após seguir como demonstrada nas figuras 43 e 44, será gerada um projeto no eclipse chamado JavaMongo. Dentro deste projeto contém um arquivo chamado pom.xml, nele faremos umas configurações para o projeto bem como adicionar o driver do mongo para Java, como pode visto na figura 45:
Figura 45 — Adicionado o MongoDrive Fonte: Gerado pelo Eclipse
Conforme a figura 45, no arquivo pom.xml, adicionamos o driver do mongo como dependência do projeto, que ao salva o arquivo o maven irá fazer o download da biblioteca especificada, assim com outras bibliotecas que o mongo drive necessita.
A partir deste momento daremos início à criação das classes Java para funcionar com o mongodb.
CRIANDO A CONEXÃO
Segundo o site do Mongodb, o MongoDrive fornece 5 maneiras de está se conectando nossa aplicação com o banco, como observado na figura 46:
Figura 46 — Conexão com MongoDBB Fonte: Autoria Própria
Conforme visto na figura 46, foram exemplificadas as maneiras de está se conectando uma aplicação java. Ela é semelhante as conexões de bancos relacionais, principalmente na variável chamada quintoExemplo, onde é passada um endereço para sua conexão.
Ao executarmos esta classe, será criado automaticamente um banco de dados chamados TCC, caso o mesmo não exista.
INSERINDO DADOS NO BANCO
Para criar um documento, utilizamos a classe Document do mongo driver. No mongo driver, os métodos insertOne() e insertMany() estão presentes e são utilizados da mesma forma que no mongo shell e ainda podemos fazer uso de documentos incorporados.
Antes de estarmos inserindo documentos, precisaremos criar uma collection para esta armazenando os dados.
A figura 47, exemplifica a utilização tanto do método insertOne quanto do insertMany, acompanhado da criação da coleção:
Figura 47 — Inserir Autoria Própria
CONSULTANDO OS DADOS
Para retornar os dados utilizamos também o método find() que foi descrito em capítulo sobre o mongo shell.
Segundo o site do MongoDB, O método find() retorna uma instância de findIterable, que nos fornece uma interface fluente para encadear ou controlar as operações do find. Usando o método iterator() podemos obter um iterador sobre o conjunto de documentos que combinavam com a consulta e repita.
Podemos também querer retornar apenas um documento, através do método first() sobre o find(). Isso é útil para consultas que só deve corresponder a um único documento. A figura 48 demonstra o uso desses dois métodos:
Figura 48- Consultando Autoria Própria
ATUALIZANDO OS DADOS
Assim com o insert, o mongo drive oferece os mesmos métodos de update do shell que são updateOne e updateMany(). Esses dois métodos recebem dois argumentos para esta atualizando o documento, um é o critério de busca para o documento e a outra é um documento que contém os novos dados para atualização. A Figura 49 demonstra o uso dois métodos de update:
Figura 49 - Alterando Autoria Própria
DELETANDO DADOS
O mongo drive contém métodos para remover documento de uma coleção. Os métodos correspondentes são deleteOne e deleteMany, que tem o mesmo funcionamento do que foi apresentado no mongo shell. A figura 50 demonstra o uso destes dois métodos:
Figura 50 - Deletando Autoria Própria
Algo importante a ser citado, tanto na operação de update quanto de deletar, foi incluída uma chama ao método eq, este método é utilizado para uma condição de busca no documento.
Para que o eclipse o reconheça será preciso importar sua classe com essa declaração :
import static com.mongodb.client.model.Filters.*;
Nesta sessão, abrangeu os primeiros passos com mongoDB e o Java, que permitiu executar as mesmas operações do mongo shell, que foi visto no capítulo anterior.
A sessão seguinte, iremos cria uma aplicação web simples utilizando o Java EE que usa Mongodb como armazenamento. Será demonstrada como esta tecnologia pode alavancar um cenário do mundo real usando construções simples.
REFERÊNCIAS
IBM – Lennon, Joe. Explore o MongoDB. 2011. Disponível em: < https://www.ibm.com/developerworks/br/library/os-mongodb4/ > Acesso em: 11 de maio 2016.
MongoDB. MongoDB Drivers and Client Libraries. 2016. Disponível em: < https://docs.mongodb.com/manual/applications/drivers/ >. Acesso em: 10 de junho 2016.
Oracle. O que é a Tecnologia Java e porque preciso dela? 2016. Disponível em: < https://www.java.com/pt_BR/download/faq/whatis_java.xml >. Acesso em: 10 de junho 2016.