5.0 Java API操作mongoDB

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011418530/article/details/87337902

pom.xml:

<dependency>

    <groupId>org.mongodb</groupId>

    <artifactId>mongodb-driver</artifactId>

    <version>3.10.0</version>

</dependency>

MongoUtils:

public class MongoUtils {

    //不通过认证获取连接数据库对象

    public static MongoDatabase getConnect(){

        //连接到 mongodb 服务

        MongoClient mongoClient = new MongoClient("192.168.227.6", 27017);

        //连接到数据库

        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");

        //返回连接数据库对象

        return mongoDatabase;

    }

    //需要密码认证方式连接

    public static MongoDatabase getConnect2(){

        List<ServerAddress> adds = new ArrayList<ServerAddress>();

        //ServerAddress()两个参数分别为 服务器地址 和 端口

        ServerAddress serverAddress = new ServerAddress("192.168.227.6", 27017);

        adds.add(serverAddress);

        List<MongoCredential> credentials = new ArrayList<MongoCredential>();

        //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码

        MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());

        credentials.add(mongoCredential);

        //通过连接认证获取MongoDB连接

        MongoClient mongoClient = new MongoClient(adds, credentials);

        //连接到数据库

        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");

        //返回连接数据库对象

        return mongoDatabase;

    }

}

MongoTest:

public class MongoTest {

    /**

    * 插入数据

    */

    public static void insertData(){

        MongoCollection<Document> collection =MongoUtils.getConnect().getCollection("user");

        System.out.println("获取集合成功");

        Document document = new Document("name", "张三").

        append("sex", "男").

        append("age", 18);

        //插入一条数据

        collection.insertOne(document);

        //插入多条数据

        // List<Document> documents = new ArrayList<Document>();

        // documents.add(document);

        // collection.insertMany(documents);

        System.out.println("数据插入成功");

    }

    /**

    * 删除数据

    */

    public static void deleteData(){

        //获取数据库连接对象

        MongoDatabase mongoDatabase = MongoUtils.getConnect();

        //获取集合

        MongoCollection<Document> collection = mongoDatabase.getCollection("user");

        //申明删除条件

        Bson filter = Filters.eq("age",18);

        //删除与筛选器匹配的单个文档

        collection.deleteOne(filter);

        //删除与筛选器匹配的所有文档

        // collection.deleteMany(filter);

    }

    /**

    * 修改数据

    */

    public static void updateData(){

        //获取数据库连接对象

        MongoDatabase mongoDatabase = MongoUtils.getConnect();

        //获取集合

        MongoCollection<Document> collection = mongoDatabase.getCollection("user");

        //修改过滤器

        Bson filter = Filters.eq("name", "张三");

        //指定修改的更新文档

        Document document = new Document("$set", new Document("age", 100));

        //修改单个文档

        collection.updateOne(filter, document);

        //修改多个文档

        // collection.updateMany(filter, document);

    }

    /**

    * 查询数据

    */

    public static void findData(){

        //获取数据库连接对象

        MongoDatabase mongoDatabase = MongoUtils.getConnect();

        //获取集合

        MongoCollection<Document> collection = mongoDatabase.getCollection("user");

        //指定查询过滤器

        // Bson filter = Filters.eq("name", "张三");

        //查找集合中的所有文档

        FindIterable findIterable = collection.find();

        MongoCursor cursor = findIterable.iterator();

        while (cursor.hasNext()) {

            System.out.println(cursor.next());

        }

    }

    public static void main(String[] args) {

        findData();

    }

}

猜你喜欢

转载自blog.csdn.net/u011418530/article/details/87337902
今日推荐