java连接Mongodb实现增删改查

本文实例为大家分享了java连接Mongodb实现增删改查的具体代码,供大家参考,具体内容如下

1.创建maven项目

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

2.编写代码

1.查询所有

package com.czxy.mongodb;

import com.alibaba.fastjson.JSON;
import com.mongodb.*;

import java.util.List;
import java.util.Set;

public class Find {
  public static void main(String[] args) {
    //客户端链接
    MongoClient mongodbClint = new MongoClient("localhost", 27017);
    // 获取所有的数据库
    List<String> databaseNames = mongodbClint.getDatabaseNames();
    for (String databaseName : databaseNames) {
      System.out.println("数据库名称 "+databaseName);
    }
    // 连接指定的数据库
    DB db = mongodbClint.getDB("text");

    //获取当前数据库下的所有集合名称
    Set<String> collectionNames = db.getCollectionNames();
    for (String dbname : collectionNames) {
      System.out.println("集合名称 "+dbname);
    }
    // 连接指定的集合
    DBCollection collection = db.getCollection("stus");
     // 数据集合信息
    DBCursor dbObjects = collection.find();

    while (dbObjects.hasNext()){
      //读取数据
      DBObject next = dbObjects.next();
      // json 格式转换
      Stus parse = JSON.parseObject(next.toString(), Stus.class);
      // 数据输出
      System.out.println(parse);
    }
  }
}

2.添加数据

package com.czxy.mongodb;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

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

public class Insert {
  public static void main(String[] args) {
    // 获取连接
    MongoClient mongodbClint = new MongoClient("localhost", 27017);
    // 连接数据库
    MongoDatabase database = mongodbClint.getDatabase("text");
    // 获取对象
    MongoCollection<Document> stus = database.getCollection("stus");
    Map<String, Object> map=new HashMap();
    map.put("name", "诸葛亮");
    map.put("sex", "男");
    map.put("age", 35.0);
    map.put("address", "南阳");
    Document document = new Document(map);
    System.out.println(document);
    stus.insertOne(document);
  }
}

3.删除

package com.czxy.mongodb;

import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

/**
 * 删除
 */
public class Delete {
  public static void main(String[] args) {
    //获取连接
    MongoClient location = new MongoClient("localhost", 27017);
    // 连接数据库
    MongoDatabase database = location.getDatabase("text");
    //获取集合封账对象
    MongoCollection<Document> collection = database.getCollection("stus");
    // 删除的条件
    BasicDBObject dbObject = new BasicDBObject("name", "诸葛亮");
    // 删除符合条件的第一个
     collection.deleteOne(dbObject);
     // 删除符合条件的所有
//     collection.deleteMany(new BasicDBObject("name","lisi"));
  }
}

4.修改

package com.czxy.mongodb;

import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

import java.awt.*;

public class Update {
  public static void main(String[] args) {
    // 获取连接
    MongoClient mongoClient = new MongoClient();
    // 连接数据库
    MongoDatabase database = mongoClient.getDatabase("text");
    // 得到集合封装队象
    MongoCollection<Document> stuo = database.getCollection("stus");
    // 查询条件
     BasicDBObject upFind = new BasicDBObject("name", "wangwu");
    // 修改的值
    BasicDBObject upNew = new BasicDBObject("$set", new BasicDBObject("address", "高老庄"));
    // 修改符合条件的第一个值
    stuo.updateOne(upFind, upNew);
    //修改符合条件的全部
//    stuo.updateMany(upFind, upNew);
  }
}

5.条件查询

package com.czxy.mongodb;

import com.alibaba.fastjson.JSON;
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;

public class FindEq {
  public static void main(String[] args) {
    // 获取连接
    MongoClient mongoClient = new MongoClient();
    // 连接数据库
    MongoDatabase database = mongoClient.getDatabase("text");
    // 得到集合封装队象
    MongoCollection<Document> stus = database.getCollection("stus");
    // 查询条件
    BasicDBObject find = new BasicDBObject("name", "wangwu");
    // 得到查询结果
    FindIterable<Document> results = stus.find(find);
    // 集合遍历
    for (Document result : results) {
      // 格式转换
      String s = JSON.toJSONString(result);
      // 查询结果输出
      System.out.println(JSON.parseObject(s,Stus.class));
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • mybatis教程之增删改查_动力节点Java学院整理

    select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String" resultMap="studentResultMap"> SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX, ST.STUDENT_BIRTHDAY, ST.CLASS_ID FR

  • mongodb增删改查详解_动力节点Java学院整理

    仔细观察"划线区域"的信息,发现db文件夹下有一个类似的"lock file"阻止了mongodb的开启,接下来我们要做的就是干掉它,之后,开启成功,关于mongodb的管理方式将在后续文章分享. 一: Insert操作 上一篇也说过,文档是采用"K-V"格式存储的,如果大家对JSON比较熟悉的话,我相信学mongodb是手到擒来,我们知道JSON里面Value 可能是"字符串",可能是"数组",又有可能是

  • java操作mysql实现增删改查的方法

    本文实例讲述了java操作mysql实现增删改查的方法.分享给大家供大家参考,具体如下: 首先,需要把MySQL与Java连接的jar(mysql-connector-java-5.1.6-bin.jar)包导入工程. package com.cn.edu; import java.beans.Statement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatemen

  • JavaWeb应用实例:用servlet实现oracle 基本增删改查

    很久没有写博客了,可能是太懒散,不愿意把时间花在这上面,可是我心里还是知道写博客的重要性的 ,所以从今天开始 ,我将与大家分享一下我学Java WEB写的一些小实例  ,我个人是不太喜欢书本上的晦涩的概念的,所以我花了更多的时间在一些应用实例上,我觉得这样的学习方式很适合我,由简到繁,由浅入深 废话不多话,开始我们的第一个实例:  servlet实现Oracle 基本增删改查 开发环境:JDK7 +Myeclipse10+tomcat7.0+oracle 11g 首先附上数据库创建脚本: cre

  • java连接mongoDB并进行增删改查操作实例详解

    本文实例讲述了java连接mongoDB并进行增删改查操作.分享给大家供大家参考,具体如下: 1.安装 MongoDB JDBC驱动程序 在java中使用mongoDB之前,首先需要拥有java连接mongoDB的第三方驱动包(jar包) 1)maven项目可通过在pom.xml中添加依赖 <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-ja

  • java jdbc连接mysql数据库实现增删改查操作

    jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的时候才能更好的去理解这些成熟的框架是如何去实现增删改查

  • Java连接MySQL数据库增删改查的通用方法(推荐)

    运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类下面写好多方法,要是多个数据库,就要写多个类多个方法,导致代码编写太过于繁琐,所以为了改变这样的繁琐,我将连接数据库的方法进行了一系列的封装,使用户传入一个对象值Object就可以得到想要的. 我在之前写过一篇普通的Java连接MySQL数据库,大家可以看看,以便对比参考之后就知道差距了 数据库--MySQL-->Java篇 接下来我给大家讲讲如何将这个不可复用,又多重复的连接代码,封装起来,非常

  • Java连接MongoDB进行增删改查的操作

    Java连接MongoDB进行增删改查的操作 1.创建数据库的连接,进行增删改查 (分别为接口和实现类) package com.dao; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mo

  • Java语言实现对MySql数据库中数据的增删改查操作的代码

    简单说操作的步骤: 1.连接数据库 2.将SQL语句发送到数据库 3.执行SQL语句 这里举个例子: 在一个数据库中有个students表,表中有学号(Id),姓名(Name),性别(Sex),地址(Address),电话(Phone),专业(Dept). 这里把这个表写成一个学生信息类(Info_student) (请先确保看了例子说明,不然代码有的地方可能看不明白) 要实现操纵我们首先得连接数据库,因为每个操作都要进行连接操作,所以我们直接把连接的操作封装在一个类中,需要连接的时候直接调用可

  • java 数据库连接与增删改查操作实例详解

    本文实例讲述了java 数据库连接与增删改查操作.分享给大家供大家参考,具体如下: 1.设置数据库的基本配置信息 package mysql; //数据库配置资源连接 public final class DbConfig { //数据库资源 指定所使用的数据库类型 地址 端口 数据库名称 编码格式 public final static String dbUrl = "jdbc:mysql://localhost:3306/database_name?useUnicode=true&c

随机推荐