Menu Docs

Página inicial do DocsDesenvolver aplicaçõesMongoDB DriversDriver de sincronização Java

Início rápido do driver Java

Nesta página

  • Introdução
  • Configurar seu projeto
  • Instalar o Java Development Kit (JDK)
  • Criar o projeto
  • Adicionar MongoDB como dependência
  • Criar um cluster MongoDB
  • Configurar um cluster de camada grátis no Atlas
  • Consulte seu cluster MongoDB a partir de seu aplicativo
  • Trabalhando com POJOs (opcional)
  • Próximos passos

Este guia mostra como criar um aplicativo que usa o driver Java para se conectar a um cluster MongoDB Atlas. 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.

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 .

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 do Gradle Para obter mais informações sobre como configurar seu projeto.

Se você estiver usando o Maven, adicione o seguinte à sua pom.xml lista de dependências do :

<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>

Se você estiver usando o Gradle, adicione o seguinte à sua build.gradle lista de dependências do :

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:5.1.0'
}

Observação

Recomendamos que você use uma ferramenta de construção para instalar o driver Java. No entanto, se você precisar baixar o driver e as dependências, poderá encontrar os arquivos JAR no repositório do MongoDB Group Maven. O driver Java requer o download dos arquivos JAR para as bson mongodb-driver-core slf4j-api dependências , e .

Após configurar suas dependências, certifique-se de que estejam disponíveis para seu projeto executando seu gerenciador de dependências e atualizando o projeto em seu IDE.

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.

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 connection string.

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.

Atlas Connection GUI cluster selection screen

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.

Atlas Connection GUI connection string screen

Salve sua cadeia de conexão do Atlas em um local seguro que você pode acessar para a próxima etapa.

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 será semelhante ao 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 seu 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.

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;
}
@Override
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. 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 cadeia de connection string do MongoDB Atlas. Certifique-se de substituir a seção "<password>" da connection string pela senha que você criou para o usuário que tem permissões do 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 se assemelha ao 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:

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.

← MongoDB Java Driver