mongoDB大数据——java集成mongodb单机与集群

说明一:java连接mongodb官方文档:

https://docs.mongodb.com/ecosystem/drivers/java/

说明二:java连接mongodb官方创建客户端文档:

http://mongodb.github.io/mongo-java-driver/3.10/driver/tutorials/connect-to-mongodb/

说明三:java连接mongodb官方驱动选择文档:

http://mongodb.github.io/mongo-java-driver/3.10/driver/getting-started/installation/

1、java集成mongodb基础知识:

Mongodb版本是3.7以前使用MongoClient()创建客户端;

Mongodb版本是3.7以后使用 MongoClients.create()创建客户端;

Mongodb中用户是属于某个数据库的,并不是公共通用的用户。

Java集成mongodb必须的东西:

运行的mongodb数据库、mongodb驱动jar包、mongodb客户端。

Java集成mongodb的驱动jar有以下4类:

第一类:mongodb-driver-sync(推荐使用)

这种jar包,是mongodb官网在3.7版本以后推荐使用的驱动包。只需要添加这一个jar包即可。

第二类:mongodb-driver-legacy

这种jar驱动,是旧版本3.7以前的数据库创建客户端对应的驱动,在3.7以后的高版本数据库中也支持,但是3.7以高版本数据库不使用此驱动包。并且如果使用此驱动包,还需要添加依赖包:bson、mongodb-driver-core。

第三类:mongodb-driver

这种jar驱动,mongodb管网已经放弃了,并且在4.0及以后版本的数据库中将不会发布此驱动。

第四类:mongo-java-driver

这种jar驱动,mongodb管网已经放弃了,并且在4.0及以后版本的数据库中将不会发布此驱动。

2、Java驱动与mongodb版本关系表:

Java Driver Version

MongoDB

4.0

MongoDB

3.6

MongoDB

3.4

MongoDB

3.2

MongoDB

3.0

MongoDB

2.6

Version 3.10

Version 3.9

Version 3.8

Version 3.7

 

Version 3.6

 

Version 3.5

 

 

Version 3.4

 

 

Version 3.3

 

 

 

Version 3.2

 

 

 

Version 3.1

 

 

 

 

Version 3.0

 

 

 

 

Version 2.14

 

 

 

✓[*]

Version 2.13

 

 

 

 

Version 2.12

 

 

 

 

 

3、Java驱动与jdk版本关系表:

Java Driver Version

Java 5

Java 6

Java 7

Java 8

Java 11 [+]

Version 3.10

 

Version 3.9

 

Version 3.8

 

Version 3.4

 

Version 3.3

 

Version 3.2

 

Version 3.1

 

Version 3.0

 

Versions >= 2.7

4、Java集成mongodb单机:

(1)legacy客户端:

A、添加jar驱动:

需要添加:mongodb-driver-legacy、bson、mongodb-driver-core三个jar包。



    

        org.mongodb

        mongodb-driver-legacy

        3.10.1





    org.mongodb

    bson

    3.10.1





    org.mongodb

    mongodb-driver-core

    3.10.1



B、创建客户端:

/**
     * 创建单机客户端
     */
    public static MongoClient getStandaloneClient(){
        MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build();
        MongoClient mongoClient = new MongoClient(new ServerAddress("127.0.0.1", 27017),
                options);
        return mongoClient;
    }

(2)sync客户端(推荐使用):

A、添加jar驱动:



    

        org.mongodb

        mongodb-driver-sync

        3.10.1

    

B、创建客户端:

/**
     * 创建单机客户端
     */
    public static MongoClient getStandaloneClient(){
        ConnectionString connString = new ConnectionString(
                "mongodb://root:[email protected]:27017/admin"
        );
        MongoClientSettings settings = MongoClientSettings.builder()
                .applyConnectionString(connString)
                .retryWrites(true)
                .build();
        MongoClient mongoClient = MongoClients.create(settings);
        return mongoClient;
    }

5、Java集成mongodb副本集:

(1)legacy客户端:

A、添加jar驱动:

需要添加:mongodb-driver-legacy、bson、mongodb-driver-core三个jar包。



    

        org.mongodb

        mongodb-driver-legacy

        3.10.1





    org.mongodb

    bson

    3.10.1





    org.mongodb

    mongodb-driver-core

    3.10.1



B、创建客户端:

/**
     * 创建副本集客户端
     */
    public static MongoClient getReplicateSetClient(){
        MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build();
        MongoClient mongoClient = new MongoClient(
                Arrays.asList(
                        new ServerAddress("127.0.0.1", 27017),
                        new ServerAddress("127.0.0.1", 27018),
                        new ServerAddress("127.0.0.1", 27019)
                ),
                options);//此处ip和端口号为副本集群中所有主、备节点的IP和端口号,可以自动实现负载均衡、高可用
        return mongoClient;
    }

(2)sync客户端(推荐使用):

A、添加jar驱动:



    

        org.mongodb

        mongodb-driver-sync

        3.10.1

    

B、创建客户端:

/**
     * 创建副本集客户端
     */
    public static MongoClient getReplicateSetClient(){
        ConnectionString connString = new ConnectionString(
                "mongodb://127.0.0.1:27017,127.0.0.1:27018,127.0.0.1:27019/?replicaSet=lsy"
        );//此处ip和端口号为副本集群中所有主、备节点的IP和端口号,可以自动实现负载均衡、高可用
        MongoClientSettings settings = MongoClientSettings.builder()
                .applyConnectionString(connString)
                .retryWrites(true)
                .build();
        MongoClient mongoClient = MongoClients.create(settings);
        return mongoClient;
    }

6、Java集成mongodb分片集群:

(1)legacy客户端:

A、添加jar驱动:

需要添加:mongodb-driver-legacy、bson、mongodb-driver-core三个jar包。



    

        org.mongodb

        mongodb-driver-legacy

        3.10.1





    org.mongodb

    bson

    3.10.1





    org.mongodb

    mongodb-driver-core

    3.10.1



B、创建客户端:

/**
     * 创建分片集群客户端
     */
    public static MongoClient getShardedClient(){
        MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build();
        MongoClient mongoClient = new MongoClient(
                Arrays.asList(
                        new ServerAddress("127.0.0.1", 27017),
                        new ServerAddress("127.0.0.1", 27018),
                        new ServerAddress("127.0.0.1", 27019)
                ),
                options);//此处ip和端口号为分片集群的mongos(router)路由的ip和端口号,可以自动实现负载均衡、高可用
        return mongoClient;
    }

(2)sync客户端(推荐使用):

A、添加jar驱动:



    

        org.mongodb

        mongodb-driver-sync

        3.10.1

    

B、创建客户端:

/**
     * 创建分片集群客户端
     */
    public static MongoClient getShardedClient(){
        ConnectionString connString = new ConnectionString(
                "mongodb://127.0.0.1:27017,127.0.0.1:27018,127.0.0.1:27019"
        );//此处ip和端口号为分片集群的mongos(router)路由的ip和端口号,可以自动实现负载均衡、高可用
        MongoClientSettings settings = MongoClientSettings.builder()
                .applyConnectionString(connString)
                .retryWrites(true)
                .build();
        MongoClient mongoClient = MongoClients.create(settings);
        return mongoClient;
    }

 

你可能感兴趣的:(java,mongodb,MongoDB大数据)