MongoDB之Java操作篇

本篇博客学习如何用Java操作MongoDB,希望能给各位博友带来帮助。

Java操作MongoDB

mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。我们通过一个入门的案例来了解mongodb-driver的基本使用。

(1)创建工程 mongoDemo, 引入依赖

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

(2)创建测试类
查询,新增

package com.changan.test;

import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.util.HashMap;
import java.util.Map;

public class StudentTest {

    MongoClient mongoClient = null;
    MongoCollection<Document> student = null;
    @Before
    public void before(){
        mongoClient = new MongoClient("192.168.159.135"); //创建连接
        MongoDatabase studentdb = mongoClient.getDatabase("studentdb"); //打开数据库
        student = studentdb.getCollection("student"); //获取集合

    }

    @Test
    public void findAll(){
        //查询所以数据
        FindIterable<Document> documents = student.find();
        for (Document document :documents
        ) {
            System.out.println("编号:"+document.getInteger("_id"));
            System.out.println("姓名:"+document.getString("name"));
            System.out.println("年龄:"+document.getInteger("age"));
            System.out.println("性别:"+document.getString("sex"));
            System.out.println("简介:"+document.getString("introduce"));
        }
    }

    @Test
    public void findById(){
        //根据Id查询数据
        Map<String,Object> map = new HashMap<String, Object>();
        map.put("_id",1);
        BasicDBObject bson = new BasicDBObject(map);
        FindIterable<Document> documents = student.find(bson);
        for (Document document :documents
        ) {
            System.out.println("编号:"+document.getInteger("_id"));
            System.out.println("姓名:"+document.getString("name"));
            System.out.println("年龄:"+document.getInteger("age"));
            System.out.println("性别:"+document.getString("sex"));
            System.out.println("简介:"+document.getString("introduce"));
        }
    }

    @Test
    public void findByCondition(){
        //条件查询数据
        Map<String,Object> map = new HashMap<String, Object>();
        map.put("age",new BasicDBObject("$gte",16));
        BasicDBObject bson = new BasicDBObject(map);
        FindIterable<Document> documents = student.find(bson);
        for (Document document :documents
        ) {
            System.out.println("编号:"+document.getInteger("_id"));
            System.out.println("姓名:"+document.getString("name"));
            System.out.println("年龄:"+document.getInteger("age"));
            System.out.println("性别:"+document.getString("sex"));
            System.out.println("简介:"+document.getString("introduce"));
        }
    }

    @Test
    public void save(){
        //新增数据
        Map<String,Object> map = new HashMap<String, Object>();
        map.put("_id",6);
        map.put("name","主站强");
        map.put("age",20);
        map.put("sex","男");
        map.put("introduce","帅");
        Document document = new Document(map);
        student.insertOne(document);
    }

    @After
    public void after(){
        if(mongoClient!=null){
            mongoClient.close();
        }
    }
}
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值