Início rápido do driver Java
Nesta página
Introdução
Este guia mostra como criar um aplicativo que utiliza o driver Java para conectar a um aglomerado do Atlas do MongoDB. Se você preferir se conectar ao MongoDB usando um driver ou linguagem de programação diferente, consulte nossa lista de drivers oficiais do MongoDB.
O driver Java permite que você se conecte e comunique com clusters MongoDB a partir de um aplicativo Java.
O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seus dados em clusters MongoDB. Neste guia, mostramos como começar a usar seu próprio cluster gratuito (nenhum cartão de crédito necessário).
Consulte as etapas seguintes para conectar seu aplicativo Java com um cluster do Atlas MongoDB.
Configurar seu projeto
Instalar o Java Development Kit (JDK)
Certifique-se de que seu sistema tenha o JDK 8 ou posterior instalado. Para obter mais informações sobre como verificar sua versão do Java e instalar o JDK, consulte a documentação Visão geral do Oracle da instalação do JDK.
Criar o projeto
Este guia mostra como adicionar as dependências do driver Java do MongoDB usando o Maven ou Gradle. Recomendamos que você use um ambiente de desenvolvimento integrado (IDE), como Intellij IDEA ou Eclipse IDE, tornando mais conveniente configurar o Maven ou o Gradle para criar e executar seu projeto.
Se você não estiver usando um IDE, consulte Construindo o Maven ou Criando Novas Construções Gradle para obter mais informações sobre como definir seu projeto.
Adicionar MongoDB como dependência
Se você estiver usando Maven, adicione o seguinte à sua lista de dependências pom.xml
:
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.9.1</version> </dependency> </dependencies>
Se você estiver usando o Gradle, adicione o seguinte à sua lista de dependências build.gradle
:
dependencies { implementation 'org.mongodb:mongodb-driver-sync:4.9.1' }
Observação
Recomendamos usar uma ferramenta de construção para instalar o Java Driver. No entanto, se você precisar baixar o driver e as dependências, localize os arquivos JAR no repositório Maven do MongoDB Group. O driver Java requer o download dos arquivos JAR para as dependências bson
, mongodb-driver-core
e slf4j-api
.
Após configurar suas dependências, certifique-se de que estejam disponíveis para seu projeto, o que pode exigir a execução do seu gerenciador de dependências e a atualização do projeto em seu IDE.
Criar um cluster MongoDB
Configurar um cluster de camada grátis no Atlas
Após configurar suas dependências de projeto Java, crie um cluster MongoDB onde você pode armazenar e gerenciar seus dados. Siga o guia Comece a usar o Atlas para configurar uma nova conta Atlas, criar e iniciar um cluster MongoDB de camada grátis, carregar conjuntos de dados e interagir com os dados.
Após completar as etapas no guia do Atlas, você deve ter um novo cluster MongoDB implantado no Atlas, um novo usuário do banco de dados e conjuntos de dados de amostra carregados no seu cluster.
Conecte-se ao seu cluster
Nesta etapa, criamos e executamos um aplicativo que usa o driver Java do MongoDB para se conectar ao cluster MongoDB e executar uma query sobre os dados de amostra.
Passamos instruções ao driver sobre como se conectar ao seu cluster MongoDB em uma string chamada connection string. Essa string inclui informações sobre o nome do host ou endereço IP e a porta do cluster, mecanismo de autenticação, credenciais do usuário, quando aplicável, e outras opções de connection.
Se estiver se conectando a uma instância ou cluster que não seja hospedado pelo Atlas, consulte Outras maneiras de se conectar ao MongoDB para obter instruções sobre como formatar sua string de conexão.
Para recuperar sua connection string do cluster e do usuário criados na etapa anterior, faça login na sua conta do Atlas e navegue até a seção Database e clique em Connect do cluster ao qual deseja se conectar, conforme mostrado abaixo.
Vá para a etapa Connect Your Application e selecione o driver Java. Selecione "4.3 ou versão mais recente" para a versão. Clique no ícone Copy para copiar a connection string para sua área de transferência, conforme mostrado abaixo.
Salve sua cadeia de conexão do Atlas em um local seguro que você pode acessar para a próxima etapa.
Consulte seu cluster MongoDB a partir de seu aplicativo
Em seguida, crie um arquivo para conter seu aplicativo denominado QuickStart.java
no diretório do pacote base do seu projeto. Use o seguinte código de amostra para executar uma query em seu conjunto de dados de amostra no MongoDB Atlas, substituindo o valor da variável uri
por sua connection string do MongoDB Atlas.
import static com.mongodb.client.model.Filters.eq; import org.bson.Document; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class QuickStart { public static void main( String[] args ) { // Replace the placeholder with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); Document doc = collection.find(eq("title", "Back to the Future")).first(); if (doc != null) { System.out.println(doc.toJson()); } else { System.out.println("No matching documents found."); } } } }
Quando você executa a classe QuickStart
, ela deve gerar os detalhes do filme a partir do conjunto de dados de amostra, que se parecerá com o seguinte:
{ _id: ..., plot: 'A young man is accidentally sent 30 years into the past...', genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], ... title: 'Back to the Future', ... }
Se você não receber nenhuma saída ou um erro, verifique se você incluiu o cadeia de conexão em sua classe Java e se você carregou o conjunto de dados de amostra em seu cluster do MongoDB Atlas.
Importante
Problema de connection conhecido ao usar TLS v. 1.3
Se você encontrar um erro ao se conectar à sua instância ou cluster MongoDB parecido ao seguinte durante a execução do aplicativo, talvez seja necessário atualizar o JDK para a versão mais recente do patch:
javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request
Essa exceção é um problema conhecido ao usar o protocolo TLS 1.3 com versões específicas do JDK, mas foi corrigida para as seguintes versões:
JDK 11.0.7
JDK 13.0.3
JDK 14.0.2
Para resolver esse erro, atualize seu JDK para uma das versões anteriores do patch ou para uma versão mais recente.
Após concluir esta etapa, você deve ter um aplicativo operacional que use o driver Java para se conectar ao cluster MongoDB, executar uma query sobre os dados de amostra e imprimir o resultado.
Trabalhando com POJOs (opcional)
Na seção anterior, você executou uma query em uma collection de amostra para recuperar dados na classe de mapa semelhante ao Document
. Nesta seção, você pode aprender a usar seu próprio Plain Old Java Object (POJO) para armazenar e recuperar dados do MongoDB.
Crie um arquivo chamado Movie.java
no diretório do pacote base do seu projeto e adicione o código a seguir para uma classe que inclui os seguintes campos, setters e getters:
public class Movie { String plot; List<String> genres; String title; public String getPlot() { return plot; } public void setPlot(String plot) { this.plot = plot; } public List<String> getGenres() { return genres; } public void setGenres(List<String> genres) { this.genres = genres; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String toString() { return "Movie [\n plot=" + plot + ",\n genres=" + genres + ",\n title=" + title + "\n]"; } }
Crie um novo arquivo QuickStartPojoExample.java
no mesmo diretório de pacote que seu arquivo Movie
no seu projeto. Utilize o seguinte código de amostra para executar uma query no seu conjunto de dados de amostra no MongoDB Atlas, substituindo o valor da variável uri
por sua string de conexão do MongoDB Atlas. Substitua a seção "<db_password>" da string de conexão pela senha que você criou para o usuário que tem permissões de atlasAdmin:
import static com.mongodb.MongoClientSettings.getDefaultCodecRegistry; import static com.mongodb.client.model.Filters.eq; import static org.bson.codecs.configuration.CodecRegistries.fromProviders; import static org.bson.codecs.configuration.CodecRegistries.fromRegistries; import org.bson.codecs.configuration.CodecProvider; import org.bson.codecs.configuration.CodecRegistry; import org.bson.codecs.pojo.PojoCodecProvider; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class QuickStartPojoExample { public static void main(String[] args) { CodecProvider pojoCodecProvider = PojoCodecProvider.builder().automatic(true).build(); CodecRegistry pojoCodecRegistry = fromRegistries(getDefaultCodecRegistry(), fromProviders(pojoCodecProvider)); // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix").withCodecRegistry(pojoCodecRegistry); MongoCollection<Movie> collection = database.getCollection("movies", Movie.class); Movie movie = collection.find(eq("title", "Back to the Future")).first(); System.out.println(movie); } } }
Quando você executa a classe QuickStartPojoExample
, ela deve gerar os detalhes do filme a partir do conjunto de dados de amostra, que deve se parecer com o seguinte:
Movie [ plot=A young man is accidentally sent 30 years into the past..., genres=[Adventure, Comedy, Sci-Fi], title=Back to the Future ]
Se você não receber nenhuma saída ou um erro, verifique se você incluiu o cadeia de conexão em sua classe Java e se você carregou o conjunto de dados de amostra em seu cluster do MongoDB Atlas.
Consulte os seguintes links para obter mais informações sobre o uso de POJOs para armazenar e recuperar dados:
Próximos passos
Aprenda a ler e modificar dados usando o driver Java em nosso guia CRUD de fundamentos ou como realizar operações comuns em nossos Exemplos de uso.