zoukankan      html  css  js  c++  java
  • Java原生API访问MongoDB

    1.pom.xml

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.5.0</version>
    </dependency>

    2.Java代码

    package cn.duanjt;
    
    import java.util.Arrays;
    
    import org.bson.Document;
    import org.bson.conversions.Bson;
    import org.junit.Before;
    import org.junit.Test;
    
    import com.mongodb.Block;
    import com.mongodb.MongoClient;
    import com.mongodb.client.FindIterable;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoDatabase;
    import com.mongodb.client.result.DeleteResult;
    
    //注意是静态导入
    import static com.mongodb.client.model.Updates.*;
    import static com.mongodb.client.model.Filters.*;
    
    public class MongoDB {
        MongoClient client;// mongo连接实例
        MongoDatabase dataBase;// 数据库
        MongoCollection<Document> collection;// 集合,类似于关系型数据库的表
    
        @Before
        public void init() {
            client = new MongoClient("192.168.23.24", 27022);
            dataBase = client.getDatabase("duanjt");
            collection = dataBase.getCollection("teacher");
        }
    
        // 插入一条数据
        @Test
        public void insert() {
            Document doc = new Document();
            doc.append("name", "李四");
            doc.append("addr", "重庆");
            doc.append("likes", Arrays.asList("排球", "篮球"));// 数组
            collection.insertOne(doc);// 插入数据时会自动创建数据库和集合
            System.out.println("success");
        }
    
        // 修改,把李四的爱好修改为 足球和羽毛球
        @Test
        public void update1() {
            Bson eq = eq("name", "张三");
            Bson set = set("likes", Arrays.asList("足球", "羽毛球"));
            collection.updateMany(eq, set);
            System.out.println("修改成功");
        }
    
        // 修改,把李四的爱好新增 足球和羽毛球
        @Test
        public void update2() {
            Bson eq = eq("name", "李四");
            Bson set = pushEach("likes", Arrays.asList("足球", "羽毛球"));
            collection.updateMany(eq, set);
            System.out.println("修改成功");
        }
    
        // 查询爱好足球的老师
        @Test
        public void find() {
            Bson filter = in("likes", Arrays.asList("足球"));
            FindIterable<Document> find = collection.find(filter);
            find.forEach(new Block<Document>() {
                @Override
                public void apply(Document t) {
                    System.out.println(t.toJson());
                }
            });
        }
    
        //删除数据
        @Test
        public void delete() {
            Bson filter = eq("name", "duanjt");
            DeleteResult deleteMany = collection.deleteMany(filter);
            System.out.println("删除数据:" + deleteMany.getDeletedCount());
        }
    
        // 删除集合
        @Test
        public void dropCol() {
            collection.drop();
            System.out.println("删除成功");
        }
    
    }

    稍微注意注释部分的代码即可

    MongoDB 关系型数据库
    数据库 数据库
    集合
    文档 一行数据
  • 相关阅读:
    jUploadr:上传图片到 Flickr
    Openbox 3.3
    TightVNC-长途节制软件
    Ion:分页式的窗口操持器
    MOC-节制台音乐播放器
    计算机软件资格考试网站
    WinAPI 字符及字符串函数(2): CharLowerBuff 把缓冲区中指定数目的字符转小写
    WinAPI: 输入光标相关的函数[4]
    一个字符串到数组的例子 回复"成红"的问题, 对其他朋友参考价值不大
    多媒体函数简介
  • 原文地址:https://www.cnblogs.com/duanjt/p/10315124.html
Copyright © 2011-2022 走看看