java操作mongodb实现CURD功能实例

先下载相应的驱动:官网上下载:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
本文使用mongo-2.10.1.jar版本:

下面有详细代码的,每个方法可以单独执行。其中为了方便运行,每个方法中都重新链接数据库,而没有再提出来,因为在此的目的是为了认识mongodb而已。

代码如下:

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());
          }

}

}

(0)

相关推荐

  • Java操作Mongodb数据库实现数据的增删查改功能示例

    本文实例讲述了Java操作Mongodb数据库实现数据的增删查改功能.分享给大家供大家参考,具体如下: 首先,我们在windows下安装mongodb数据库,安装教程可查看前面一篇文章:http://www.jb51.net/article/85605.htm 代码如下: package io.mogo; import java.util.Map; import org.apache.commons.lang3.StringUtils; import com.mongodb.BasicDBObj

  • Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍

    Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍 一.基本环境: mongdb3.0.5数据库 spring-data-MongoDB-1.7.2.jar mongo-Java-driver-3.0.2.jar Linux-redhat6.3 tomcat7 二.搭建mongodb副本集: 1.  分别在三台linux系统机上安装mongodb,(为避免和机器上原有的mongodb端口冲突,这里设为57017): 192.168.0.160 192.168.0.

  • Java操作MongoDB数据库示例分享

    MongoDB是一个文档型数据库,是NOSQL家族中最重要的成员之一,以下代码封装了MongoDB的基本操作. MongoDBConfig.java package com.posoftframework.mongodb; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Enumeration; import java.util.HashMap; i

  • Java操作MongoDB模糊查询和分页查询

    本文实例为大家分享了Java操作MongoDB模糊查询和分页查询,供大家参考,具体内容如下 模糊查询条件: 1.完全匹配 Pattern pattern = Pattern.compile("^name$", Pattern.CASE_INSENSITIVE); 2.右匹配 Pattern pattern = Pattern.compile("^.*name$", Pattern.CASE_INSENSITIVE); 3.左匹配 Pattern pattern =

  • java查询mongodb中的objectid示例

    找了很久查询objectid的方法都是错的,用mongovue能查询出来,但就是用java不知道怎么查询 1.mongovue里的查询方式: 复制代码 代码如下: {"_id" : ObjectId("5326bfc0e6f780b21635248f")} 2.纯mongodb里的查询方式: 复制代码 代码如下: db.collect.find({ "_id" : ObjectId("5326bfc0e6f780b21635248f&q

  • java操作mongodb基础(查询 排序 输出list)

    复制代码 代码如下: package com.infomorrow.webroot; import java.util.List; import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;import com.mongodb.MongoClient; public cl

  • java操作mongodb时,对象bean和DBObject相互转换的方法(推荐)

    如下所示: package com.iqbon.spider.util; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.util.Date; import org.apache.commons.beanutils.BeanUtils; import com.mongodb.BasicDBObject; import com.mongodb.DBObje

  • java实现mongodb的数据库连接池

    MongoDB是介于关系数据库和非关系数据库之间的一种产品,文件的存储格式为BSON(一种JSON的扩展),这里就主要介绍Java通过使用mongo-2.7.3.jar包实现mongodb连接池,具体的java代码实现如下: 数据库连接池配置参数: /** *@Description: mongo连接池配置文件 */ package cn.lulei.mongo.pool; public class MongoConfig { private static String userName;//用

  • 简单学习Java+MongoDB

    MongoDB一些概念 下面以MongoDB和MySql的对比来说明 MySQL MongoDB database(数据库) db(数据库) table(表) collection(集合) row(行记录) document(文档) column(列) field(字段) primary key(指定主键) "_id" : ObjectId("******")  自动生成内置主键 Mysql的数据形式如下 同样的数据在MongoDB下类似于JSON键值对,叫BSON

  • 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

  • MongoDB支持的java数据类型和测试例子

    mongodb的java数据类型有: Object Ids 自动IDRegular Expressions 正则表达式搜索记录Dates/Times 时间Database References 数据基础结构Binary Data 二进制流Timestamp Data 时间标记戳Code Data 代码数据Embedded Documents 嵌入式文档Arrays 数组类型 详细参考原来英文 http://docs.mongodb.org/ecosystem/drivers/java-types

随机推荐