数据库

 首页 > 数据库 > MongoDB > Java在MongoDB数据库中的增删查改操作

Java在MongoDB数据库中的增删查改操作

分享到:
【字体:
导读:
         摘要:相关资料1、MongoDBforJava的驱动包https://github.com/mongodb/mongo-java-driver/downloads2、在线文档http://www.mongodb.org/display/DOCS/Java+Language+Center操作1、查询某张表(在MongoDB中称...

Java在MongoDB数据库中的增删查改操作

相关资料

1、MongoDB for Java的驱动包

  https://github.com/mongodb/mongo-java-driver/downloads

2、在线文档

 http://www.mongodb.org/display/DOCS/Java+Language+Center

操作

1、查询某张表(在MongoDB中称之为集合)的所有数据

Java代码DBTest.java

package com.archie.mongodb;

import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

/**

* 查询指定数据库指定DBCollection集合中的所有数据
* @author archie2010
*
* since 2012-9-29 下午10:40:21
*/
public class DBTest {
  public static void main(String[] args) throws UnknownHostException,
  MongoException {
  /**
Mongo实例代表了一个数据库连接池
* Mongo mg = new Mongo("localhost");
Mongo mg = new Mongo("localhost", 27017);
*/
  Mongo mg = new Mongo();

  // 获取名为“dbtest”的数据库对象
  DB db = mg.getDB("dbtest");
  // 查询该库中所有的集合 (相当于表)
  for (String name : db.getCollectionNames()) {
  System.out.println("Collection Name: " + name);
  }
  DBCollection users = db.getCollection("emp");
  // 查询集合中所有的数据
  DBCursor cur = users.find();
  System.out.println("Record Count:" + cur.count());
  while (cur.hasNext()) {
  DBObject object = cur.next();
  System.out.println(object);
  // 取出对象中列表为字段名为'uname'和'upwd'的数据
  System.out.println("uname:" + object.get("uname") + "tupwd:"
  + object.get("upwd"));
  }
  }
}

运行结果:

2、对指定DBCollection集合的CRUD操作

Java代码

DBUtil.java

package com.archie.mongodb;

import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;

/**
* 获得DBCollection集合的工具类
* @author archie2010
*
* since 2012-9-29 下午10:54:42
*/
public class DBUtil {

  public static Mongo mg=null; 
  public static DB db=null; 
  public static DBCollection collection;

  /**
* 获得DBCollection对象
* @param dbName
* @param colName
* @return
*/
  public static DBCollection getDBCollection(String dbName,String colName){
  if(mg==null){
  try {
  mg=new Mongo();
  } catch (UnknownHostException e) {
  e.printStackTrace();
  }
  }
  if(db==null){
  db=mg.getDB(dbName);
  }
  return db.getCollection(colName);
  }
}

CRUDTest.java

package com.archie.mongodb;

import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;

/**

* 对指定DBCollection集合的CRUD操作
* @author archie2010
*
* since 2012-9-29 下午10:51:24
*/
public class CRUDTest {
  /**
* 增加
* @param obj
*/
  public static void add(DBObject obj){
  DBCollection coll=DBUtil.getDBCollection("dbtest", "emp");
  coll.insert(obj);
  }
  /**
* 删除
* @param obj
*/
  public static void delete(DBObject obj){
  DBCollection coll=DBUtil.getDBCollection("dbtest", "emp");
  coll.remove(obj);
  }
  /**
* 查询
*/
  public static void query(){
  DBCollection coll=DBUtil.getDBCollection("dbtest", "emp");
  // 查询集合中所有的数据
  DBCursor cur = coll.find();
  System.out.println("Record Count:" + cur.count());
  while (cur.hasNext()) {
  DBObject object = cur.next();
  System.out.println(object);
  // 取出对象中列表为'uname'和'upwd'的数据
  System.out.println("uname:" + object.get("uname") + "tupwd:"
  + object.get("upwd")+"t_id:"+object.get("_id"));
  }
  }
  /**
* 修改
*/
  public static void modify(DBObject orig,DBObject update){
  DBCollection coll=DBUtil.getDBCollection("dbtest", "emp");
  coll.update(orig, update, true, false);
  }
  public static void main(String[] args) {
  DBObject empObj=new BasicDBObject();
  empObj.put("uname", "teddy");
  empObj.put("upwd", "123456");
  //添加
  add(empObj);
  query();
 

  DBObject updateObj=new BasicDBObject();
  updateObj.put("uname", "teddy");
  updateObj.put("upwd", "3333");
  //更新
  modify(new BasicDBObject("uname","teddy"),updateObj);
System.out.println("-----------------------修改后-------------------");
  query();

  //删除
  delete(new BasicDBObject("uname","teddy"));
System.out.println("-----------------------删除后-------------------");
  query();
  }
}

运行效果:

Java在MongoDB数据库中的增删查改操作
分享到:
如何在Java程序中操作MongoDB数据库
如何在Java程序中操作MongoDB数据库 NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库。本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。     文章内容如下:     第一步:安...
MongoDB简单介绍及安装方法
MongoDB简单介绍及安装方法一、前言   最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下。本人不才,借着自学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论。部分资源出自其他博客,旨将零散知识点集中到一起,如果有侵犯您的权利,请联系li...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……