热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

相关资料1、MongoDBforJava的驱动包https://github.com/mongodb/mongo-java-driver/downloads2、在线文档http://www.mongodb.org/display/DOCS/Java+Language+Center操作1、查询某张表(在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();
  }
}

运行效果:

\
推荐阅读
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • 本文探讨了异步编程的发展历程,从最初的AJAX异步回调到现代的Promise、Generator+Co以及Async/Await等技术。文章详细分析了Promise的工作原理及其源码实现,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文探讨了使用lightopenid库实现网站登录,并在用户成功登录后,如何获取其姓名、电子邮件及出生日期等详细信息的方法。特别针对Google OpenID进行了说明。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
author-avatar
82年的老代码
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有