Java如何与MongoDB建立连接


  • 註冊用戶

    前言
    据TIOBE编程语言社区公布的数据显示Java是目前使用人数最多的编程语言,作为目前最流行的非关系型数据库MongoDB,如何在Java程序中建立连接则是本文所要讨论的。其中建立连接主要使用的是MongoDB Java Driver API,然所学较浅,错误难免,希望得到大家的指正。

    1、建立连接
    在MongoDB Java Driver API中,要操作MongoDB的第一步和使用其他DB Java Driver类似,都需要首先和数据库建立连接。在MongoDBJava Driver API中,建立连接的类为com.mongodb.MongoClient.在讨论连接字符串等内容之前,我们来看看它最简单的使用方式:

    <code>MongoClient client = new MongoClient();
    </code>

    一个构造函数不带任何参数的版本。使用这个构造函数连接到的是本地的MongoDB服务,即/127.0.0.1:27017,当然你如果改变了MongoDB服务的端口,那么这里显示的端口就是你的端口了。
    我们可以通过以下单元测试代码进行验证:

    <code>  @Test
     public void testConstruactors() throws UnknownHostException {
    MongoClient client;
    client = new MongoClient();
    assertEquals(new ServerAddress(), client.getAddress());
    client.close();
         }
    </code>

    目前不需要关心ServerAddress类型,它主要作用于MongoDB服务相关的信息。注意,跟其他DB Java Driver一样,记得关闭连接。
    当然,我们也可以指定连接的Host,看下面的单元测试:

    <code> client = new MongoClient("127.0.0.1");
     assertEquals(new ServerAddress("127.0.0.1"), client.getAddress());
     client.close();
    </code>

    这里,我指定的是本机,你可以使用任何有效的IP.

    2、 设置连接的各项属性
    和其他DB Java Driver的连接一样,MongoDB Java Driver的连接也提供了很多属性。要设置MongoClient有关连接的属性,我们需要用到com.mongodb.MongoClientOpations类。这个类包含了MongoClient建立连接时,与连接相关的所有属性。该类提供了一Builder模式的方式创建并设置这些属性的值。

    <code> MongoClientOptions customClientOptions = 
     new MongoClientOptions.Builder().connectionsPerHost(50).build();
    </code>

    分析下上面的代码,MongoClientOptions.Builder()得到的是一个MongoClientOptions的Builder,通过该Builder可以设置各种Options。其中的connectionsPerHost(50)为设置连接池中连接个数,需要注意的是,每个属性的设置方法的返回类型是一个Builder,这意味着我们可以采用类似下面的链式调用:

    <code> MongoClientOptions customClientOptions = 
     new MongoClientOptions.Builder().connectionsPerHost(50).maxWaitTime(2000).build()
    </code>

    最后,当我们将需要的各项值设定好后,就调用Builder的builder()方法,得到一个MongoClientOptions对象。

    本帖部分内容已隐藏,请登入并回覆,以查看隐藏内容!


  • 註冊用戶

    此回复已被删除!

登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待