`
m635674608
  • 浏览: 5043831 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

mongodb基础系列——java操作mongodb实现CURD

 
阅读更多

   mongodb支持多种语言,并且提供了多种语言的驱动。

   java操作mongodb实现CURD:
  
   前提:下载相应的驱动:官网上下载:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
  本人使用mongo-2.10.1.jar版本:
   
   下面有详细代码的,每个方法可以单独执行。其中为了方便运行,每个方法中都重新链接数据库,而没有再提出来,因为在此的目的是为了认识mongodb而已。
<dependency>
	<groupId>org.mongodb</groupId>
	<artifactId>mongo-java-driver</artifactId>
	<version>2.10.1</version>
	<type>jar</type>
	<scope>compile</scope>
</dependency>
 
package com.mongo.dao;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;

/**
* 对基本实体的存储测试
* @author lhy
*
*/
public class EntityTest {
    
     public static void main(String[] args) throws Exception{
          delete();
     }
    
     /**
     * 保存实体对象
     * @throws Exception
     */
     public static void saveEntity() throws Exception{
          //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库
         
          //默认构造方法,默认是连接本机,端口号,默认是27017
          //相当于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();
         
          //第二:连接具体的数据库
          //其中参数是具体数据库的名称,若服务器中不存在,会自动创建
          DB db=mongo.getDB("myMongo");
         
          //第三:操作具体的表
         //在mongodb中没有表的概念,而是指集合
          //其中参数是数据库中表,若不存在,会自动创建
          DBCollection collection=db.getCollection("user");
         
          //添加操作
          //在mongodb中没有行的概念,而是指文档
          BasicDBObject document=new BasicDBObject();
         
          document.put("id", 1);
          document.put("name", "小明");
//          //然后保存到集合中
//     //     collection.insert(document);
         
         
          //当然我也可以保存这样的json串
/*          {
               "id":1,
               "name","小明",
               "address":
               {
               "city":"beijing",
               "code":"065000"
               }
          }*/
          //实现上述json串思路如下:
          //第一种:类似xml时,不断添加
          BasicDBObject addressDocument=new BasicDBObject();
          addressDocument.put("city", "beijing");
          addressDocument.put("code", "065000");
          document.put("address", addressDocument);
          //然后保存数据库中
          collection.insert(document);
         
          //第二种:直接把json存到数据库中
/*          String jsonTest="{'id':1,'name':'小明',"+
                   "'address':{'city':'beijing','code':'065000'}"+
                    "}";
         DBObject dbobjct=(DBObject)JSON.parse(jsonTest);
         collection.insert(dbobjct);*/    
     }
    
     /**
     * 遍历所有的
     * @throws Exception
     */
     public static void selectAll() throws Exception{
          //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库
         
          //默认构造方法,默认是连接本机,端口号,默认是27017
          //相当于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();
         
          //第二:连接具体的数据库
          //其中参数是具体数据库的名称,若服务器中不存在,会自动创建
          DB db=mongo.getDB("myMongo");
         
          //第三:操作具体的表
         //在mongodb中没有表的概念,而是指集合
          //其中参数是数据库中表,若不存在,会自动创建
          DBCollection collection=db.getCollection("user");
         
          //查询操作
          //查询所有
          //其中类似access数据库中游标概念
          DBCursor cursor=collection.find();
          System.out.println("mongodb中的user表结果如下:");
          while(cursor.hasNext()){
               System.out.println(cursor.next());
          }
     }
    
     /**
     * 根据条件查询
     * @throws Exception
     */
     public static void selectPart() throws Exception{
          //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库
         
          //默认构造方法,默认是连接本机,端口号,默认是27017
          //相当于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();
         
          //第二:连接具体的数据库
          //其中参数是具体数据库的名称,若服务器中不存在,会自动创建
          DB db=mongo.getDB("myMongo");
         
          //第三:操作具体的表
         //在mongodb中没有表的概念,而是指集合
          //其中参数是数据库中表,若不存在,会自动创建
          DBCollection collection=db.getCollection("user");
         
    
          //可以直接put
          BasicDBObject queryObject=new BasicDBObject();
          queryObject.put("id", 1);
          DBCursor querycursor=collection.find(queryObject);
          System.out.println("条件查询如下:");
          while(querycursor.hasNext()){
               System.out.println(querycursor.next());
          }
     }
    
     /**
     * 更新操作
     * 更新一条记录
     * @throws Exception
     */
     public static void update()throws Exception{
          //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库
         
          //默认构造方法,默认是连接本机,端口号,默认是27017
          //相当于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();
         
          //第二:连接具体的数据库
          //其中参数是具体数据库的名称,若服务器中不存在,会自动创建
          DB db=mongo.getDB("myMongo");
         
          //第三:操作具体的表
         //在mongodb中没有表的概念,而是指集合
          //其中参数是数据库中表,若不存在,会自动创建
          DBCollection collection=db.getCollection("user");
         
          //更新后的对象
//          第一种更新方式
          BasicDBObject newBasicDBObject =new BasicDBObject();
          newBasicDBObject.put("id", 2);
          newBasicDBObject.put("name", "小红");
          collection.update(new BasicDBObject().append("id", 1),newBasicDBObject);
         
//          第二种更新方式
//          更新某一个字段
//          BasicDBObject newBasicDBObject =new BasicDBObject().append("$set",new BasicDBObject().append("name", "小红") );
//          collection.update(new BasicDBObject().append("id", 1).append("name", "小明"),newBasicDBObject);

         
          DBCursor querycursor1=collection.find();
          System.out.println("更新后结果如下:");
          while(querycursor1.hasNext()){
               System.out.println(querycursor1.next());
          }
     }
    
     /**
     * 删除文档,其中包括删除全部或删除部分
     * @throws Exception
     */
     public static void delete() throws Exception{
         
          //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库
         
          //默认构造方法,默认是连接本机,端口号,默认是27017
          //相当于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();
         
          //第二:连接具体的数据库
          //其中参数是具体数据库的名称,若服务器中不存在,会自动创建
          DB db=mongo.getDB("myMongo");
         
          //第三:操作具体的表
         //在mongodb中没有表的概念,而是指集合
          //其中参数是数据库中表,若不存在,会自动创建
          DBCollection collection=db.getCollection("user");
          BasicDBObject queryObject1=new BasicDBObject();
          queryObject1.put("id", 2);
          queryObject1.put("name","小红");
         
          //删除某一条记录
         collection.remove(queryObject1);
          //删除全部
          //collection.drop();
         
          DBCursor cursor1=collection.find();
          System.out.println("删除后的结果如下:");
          while(cursor1.hasNext()){
               System.out.println(cursor1.next());
          }
         
    
     }
    
    
}
 http://limingnihao.iteye.com/blog/1940438
 
分享到:
评论

相关推荐

    mongoDB-CURD操作-----JAVA

    在Java开发中,与MongoDB的交互通常通过Java驱动程序实现,它提供了对数据库的基本CURD(创建、读取、更新、删除)操作的支持。本篇文章将深入探讨MongoDB在Java环境下的CURD操作,帮助初学者更好地理解和应用。 ...

    mongoDB数据库CURD操作,配有界面

    总的来说,MongoDB的CURD操作是数据库管理的基础,而结合Struts2、jQuery和CSS,我们可以创建出交互性好、功能丰富的Web应用,为用户提供直观的数据操作体验。通过深入理解和实践,开发者能够熟练掌握MongoDB的使用...

    MongoDB的CURD实例附带C#官方驱动集

    在MongoDB中,这些操作通过其丰富的API来实现,而C#作为广泛使用的编程语言,也有专门的官方驱动MongoDB.Driver来支持与MongoDB的交互。 首先,让我们详细了解一下MongoDB的CRUD操作: 1. 创建(Create):在MongoDB...

    mongoDB DAO层封装

    Spring Data对MongoDB的支持体现在Spring Data MongoDB模块中,它允许开发者通过Java的Repository接口进行CURD操作,无需编写SQL或MongoDB的查询语句。只需定义Repository接口,Spring Data会自动生成实现,自动...

    真实可用的mongodb下周地址.txt

    视频目录: 01-mongodb文档型数据库特点介绍 01-NoSQL简介 02-mongodb安装过程 02-mongodb操作1 03-mongodb操作2 ...03-mongo库表操作语句 ...04-CURD操作详解 ...04-mongodb操作3 ...12-使用java操作mongodb

    mongodb_demo:SpringBoot整合mongoDB完成CURD

    本项目“mongodb_demo”正是一个实例,演示了如何在Spring Boot应用中整合MongoDB来实现 CURD(创建、读取、更新和删除)操作。 首先,我们需要在Spring Boot项目中添加MongoDB的相关依赖。这通常通过在`pom.xml`或...

    使用MyBatisPlus的方式,优雅的操作MongoDB,可和现有Mongo框架结合使用,无侵入性

    使用MyBatisPlus的方式,优雅的操作MongoDB,可和现有Mongo框架结合使用,无侵入性 简化开发, 只需简单配置,即可快速进行CRUD操作,链式调用更加便捷。只做增强不做改变,引入它不会对现有工程产生影响,如丝般...

    mongodb数据库入门之CURD简单操作示例

    本文将深入介绍MongoDB数据库的基础操作,包括CURD(Create、Update、Read、Delete)操作,这对于理解MongoDB的基本工作原理至关重要。 首先,我们来看如何创建和使用数据库。在MongoDB中,数据库是通过`use`命令来...

    MongoDB的操作实例与C# 官方驱动集.rar

    在C#官方驱动集提供的示例中,你可能会看到如何使用这些方法来实现CURD操作。例如,创建一个新文档可能如下所示: ```csharp var client = new MongoClient("mongodb://localhost:27017"); var database = client....

    CURD-MongoDB-NodeJS-Express:CURD操作使用MongoDB,Express,Nodejs和Handlebas执行

    本项目“CURD-MongoDB-NodeJS-Express”是一个使用JavaScript语言,结合MongoDB数据库、Express框架以及Node.js后端服务器环境来实现这些基本操作的实例。下面我们将深入探讨这些技术及其相互作用。 首先,MongoDB...

    MongoDB入门指南

    《MongoDB入门指南》是一个快速入门MongoDB的教程,它以MongoDB的3.0版本进行说明。本教程安装的是MongoDB ...本教程是基础入门级别的,只包含MongoDB非常基础的CURD操作和基本概念,适合第一次接触MongoDB的人员阅读。

    MongoDB-manual-中文版(待续)

    ### MongoDB CURD 操作详解 #### 一、概述 MongoDB 是一款开源的NoSQL数据库系统,它使用JSON-like的文档来存储数据,并且能够自动地分片存储大量的数据集,支持水平扩展。MongoDB 以其灵活性、高性能、易于部署等...

    SpringBoot+Redis+Mqtt+MongoDB

    SpringBoot+Redis+Mqtt+MongoDB全部配置完成,下载Redis+Mqtt+MongoDB三个程序,把项目导入idea中再把SQL导入数据库下好依赖即可,注意Redis,MongoDB,Mqtt账户信息,如不一致可更换成自己的,CURD已完成

    所有使用数据库的Web应用都\"just CURD Apps(只是CURD应用)

    在描述中提到的博文链接虽然没有提供具体内容,但我们可以推测博主可能在探讨如何通过优化CURD操作提升Web应用的性能,或者讨论如何在CURD基础上构建更复杂的功能。他们可能强调了尽管大部分Web应用的核心是CURD,但...

    ThinkJS中如何使用MongoDB的CURD操作

    在ThinkJS框架中,MongoDB的CURD操作是通过模型(Model)进行的,这使得开发者能够在JavaScript环境中方便地处理数据库的增删查改任务。尽管ThinkJS官方文档主要以MySQL为例,但其对MongoDB的支持同样强大,只是需要...

    mongodb 的 小例子(curd)

    群里学习lucene的成员挺多的,一直没时间给大家做个demo、最近抽时间用lucene给大家写了个demo 可以配置采集网站的图片,包含分组统计,相同数据合并功能,主要是给群内成员来个demo 小试牛刀、临时写的,莫吐槽 ...

    [nodejs,mongodb,angularjs2]我的便利贴

    纯mongodb CURD操作: http://127.0.0.1:3000/mongodb/ 便利贴应用:http://127.0.0.1:3000/ 4.运行方法: 1) 安装有nodejs,mongodb 2) npm install supervisor -g 3) npm install 4) npm start

    MongoDB_Golang.zip

    2. 适合MongoDB初学者:降低学习成本,底层实现对使用者透明,操作简单,提升开发效率 3. 适合从RDB(关系型数据库)刚转用MongoDB的使用者:此封装照顾了 MySQL等RDB使用者的用户习惯,返回的数据格式和ORM(关系...

Global site tag (gtag.js) - Google Analytics