四、java操作MongoDB简单介绍

记录一下java操作MongoDB的简单操作只有简单的CRUD操作

pom.xml 依赖

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

java代码

package com.cjy.mongo;

import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;

import java.util.*;

public class MongoDBJDBC {

    public static void main( String args[] ){
        //插入单个文档
//        Document document = new Document();
//        document.append("name","寒冰射手");
//        document.append("age",16);
//        document.append("sex",0);
//        insertDocument(document);
        //插入多个文档
//        Document document1 = new Document();
//        document1.append("name","德邦");
//        document1.append("age",23);
//        document1.append("sex",0);
//        Document document2 = new Document();
//        document2.append("name","皇子");
//        document2.append("age",25);
//        document2.append("sex",0);
//        Document document3 = new Document();
//        document3.append("name","德玛西亚");
//        document3.append("age",21);
//        document3.append("sex",0);
//        List<Document> list = new ArrayList<Document>(Arrays.asList(new Document[]{document1,document2,document3}));
//        insertListDocument(list);
//        List<Document> all = findAll();
//        for (int i=0;i<all.size();i++) {
//            System.out.println(all.get(i));
//        }
        //修改文档
//        //修改name=皇子的  age为35 sex=1
//        Map map = new HashMap();
//        map.put("age",35);
//        map.put("sex",1);
//        updateMany("name","皇子",new Document(map));
//     删除 name=皇子的  age为35 sex=1
        deleteOne("name","皇子");

    }

    //获取数据库
    public static MongoDatabase getMongoDatabase(String databaseName){
        MongoDatabase mongoDatabase = null;
        try{
            // 连接到 mongodb 服务
            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
//            MongoClient mongoClient = new MongoClient( "106.xxx.xxx.1" , 27017 );

            // 连接到数据库--如果没有则在创建集合时创建数据库
             mongoDatabase = mongoClient.getDatabase(databaseName);
            System.out.println("Connect to database successfully  -"+ mongoDatabase);
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
        return mongoDatabase;
    }

    //获取集合
    public static MongoCollection<Document> getMongoCollection(String collectionName){
        MongoCollection<Document> collection = null;
        try{
             MongoDatabase  mongoDatabase =   getMongoDatabase("mycol");
             collection = mongoDatabase.getCollection(collectionName);
            System.out.println("获取集合:" + collection);
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
        return collection;
    }

    //插入文档
    public static boolean insertDocument(Document document){
        boolean flag = true;
        try{
            MongoCollection<Document> java = getMongoCollection("java");
            java.insertOne(document);
            System.out.println("插入数据成功");
        }catch (Exception e){
            flag=false;
            System.out.println(e.getMessage());
        }
        return flag;
    }
    //插入多个文档
    public static boolean insertListDocument(List<Document> list){
        boolean flag = true;
        try{
        MongoCollection<Document> java = getMongoCollection("java");
        java.insertMany(list);
        }catch (Exception e){
            flag=false;
            System.out.println(e.getMessage());
        }
        return flag;
    }

    /**
     * 获取文档
     * @return
     */
    public static List<Document>  findAll(){
        List<Document> list = new ArrayList<Document>();
        try{
            MongoCollection<Document> java = getMongoCollection("java");
            FindIterable<Document> documents = java.find();
            MongoCursor<Document> iterator = documents.iterator();
            while(iterator.hasNext()){
                Document next = iterator.next();
//                System.out.println(next);
                list.add(next);
            }
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
            return list;
    }
   //获取第一个文档
    public static Document findOne(){
        List<Document> all = findAll();
        return all.get(0);
    }

    /**
     * 修改满足条件的所有文档
     * @param fieldName    筛选字段名称
     * @param fieldValue   筛选字段值
     * @param doc
     * @return
     */
    public static boolean updateMany(String fieldName,String fieldValue,Document doc){
        boolean flag = true;
        try{
        MongoCollection<Document> java = getMongoCollection("java");
        java.updateMany(Filters.eq(fieldName, fieldValue), new Document("$set",doc));
            System.out.println("修改文档成功");
    }catch(Exception e){
            flag = false;
        System.err.println( e.getClass().getName() + ": " + e.getMessage() );
    }
        return flag;
    }

    /**
     * 删除一文档
     * @param fieldName
     * @param fieldValue
     * @return
     */
    public static boolean deleteOne(String fieldName,String fieldValue){
        boolean flag = true;
        try{
            MongoCollection<Document> java = getMongoCollection("java");
            java.deleteOne(Filters.eq(fieldName, fieldValue));
            System.out.println("删除文档成功");
        }catch (Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
        return flag;
    }
    /**
     * 删除多个
     * @param fieldName
     * @param fieldValue
     * @return
     */
    public static boolean deleteMany(String fieldName,String fieldValue){
        boolean flag = true;
        try{
            MongoCollection<Document> java = getMongoCollection("java");
            java.deleteMany(Filters.eq(fieldName, fieldValue));
            System.out.println("删除文档成功");
        }catch (Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
        return flag;
    }


}

来源:菜鸟编程 http://www.runoob.com/mongodb/mongodb-java.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值