1

 package mongodb;

 import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set; import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException; /**
* java
* mongodb的数据插入、读取、更新、删除
*/
public class MongodbCRUD {
private static Mongo m = null;
private static DB db = null; //数据集合名称
private static final String COLLECTION_NAME = "mcpang"; /*
* 测试java处理mongodb的增、删、改、查操作
*/
public static void main(String[] args) {
//获取数据库连接
startMongoDBConn();
//保存数据
createColData();
//读取数据
readColData();
//更新数据
updateColData();
//读取数据
readColData();
//删除数据
deleteColData();
//读取数据
readColData();
//删除数据集
db.getCollection(COLLECTION_NAME).drop();
//关闭数据库连接
stopMondoDBConn(); } /**
* 数据插入
* *测试数据:
* 【name:小李、age:30、address:江苏南京】
* 【name:小张、age:25、address:江苏苏州】
* @return
*/
private static void createColData(){
DBCollection dbCol = db.getCollection(COLLECTION_NAME);
System.out.println("向数据集中插入数据开始:");
List<DBObject> dbList = new ArrayList<DBObject>();
BasicDBObject doc1 = new BasicDBObject();
doc1.put("name", "小李");
doc1.put("age", 30);
doc1.put("address", "江苏南京");
dbList.add(doc1); BasicDBObject doc2 = new BasicDBObject();
doc2.put("name", "小张");
doc2.put("age", 25);
doc2.put("address", "江苏苏州");
dbList.add(doc2); dbCol.insert(dbList);
System.out.println("向数据集中插入数据完成!");
System.out.println("------------------------------");
} /**
* 数据读取
*/
private static void readColData(){
DBCollection dbCol = db.getCollection(COLLECTION_NAME);
DBCursor ret = dbCol.find();
System.out.println("从数据集中读取数据:");
while(ret.hasNext()){
BasicDBObject bdbObj = (BasicDBObject) ret.next();
if(bdbObj != null){
System.out.println("name:"+bdbObj.getString("name"));
System.out.println("age:"+bdbObj.getInt("age"));
System.out.println("address:"+bdbObj.getString("address"));
}
}
} /**
* 数据更新
* update(q, o, upsert, multi)
* update(q, o, upsert, multi, concern)
* update(arg0, arg1, arg2, arg3, arg4, arg5)
* updateMulti(q, o)
*/
private static void updateColData(){
System.out.println("------------------------------");
DBCollection dbCol = db.getCollection(COLLECTION_NAME);
DBCursor ret = dbCol.find();
BasicDBObject doc = new BasicDBObject();
BasicDBObject res = new BasicDBObject();
res.put("age", 40);
System.out.println("将数据集中的所有文档的age修改成40!");
doc.put("$set", res);
dbCol.update(new BasicDBObject(),doc,false,true);
System.out.println("更新数据完成!");
System.out.println("------------------------------");
} /**
* 数据删除
*/
private static void deleteColData(){
System.out.println("------------------------------");
DBCollection dbCol = db.getCollection(COLLECTION_NAME);
System.out.println("删除【小李】!");
BasicDBObject doc = new BasicDBObject();
doc.put("name", "小李");
dbCol.remove(doc);
System.out.println("------------------------------");
} /**
* 关闭mongodb数据库连接
*/
private static void stopMondoDBConn(){
if (null != m) {
if (null != db) {
// 结束Mongo数据库的事务请求
try {
db.requestDone();
} catch(Exception e) {
e.printStackTrace();
}
}
try
{
m.close();
} catch(Exception e) {
e.printStackTrace();
}
m = null;
db = null;
}
} /**
* 获取mongodb数据库连接
*/
private static void startMongoDBConn(){
try {
//Mongo(p1, p2):p1=>IP地址 p2=>端口
m = new Mongo("127.0.0.1", 27017);
//根据mongodb数据库的名称获取mongodb对象
db = m.getDB("sdap");
//校验用户密码是否正确
if (!db.authenticate("sdap", "sdap123".toCharArray())){
System.out.println("连接MongoDB数据库,校验失败!");
}else{
System.out.println("连接MongoDB数据库,校验成功!");
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
} }

9.java 操作mongodb插入、读取、修改以及删除基础的更多相关文章

  1. Java操作Mongodb 保存/读取java对象到/从mongodb

    从http://central.maven.org/maven2/org/mongodb/mongo-java-driver/选择一个版本进行下载,这里选择的是3.0.0版本,具体下载以下jar包: ...

  2. java操作mongodb——插入数据

    在mongodb中,表(Table)被称之为集合(Collection),记录(Record)被称为文档(Document) 首先连接到数据库 MongoClient mongoClient = ne ...

  3. java操作xm——添加、修改、删除、遍历

    package com.xml.zh; import javax.xml.parsers.*; import javax.xml.transform.Transformer; import javax ...

  4. std::map的操作:插入、修改、删除和遍历

    using namespace std; std::map<int,int> m_map; 1.添加 for(int i=0;i<10;i++) { m_map.insert(mak ...

  5. Mongodb快速入门之使用Java操作Mongodb

    [IT168 专稿]在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作. HelloWorld程序 学习任何程序的第一步,都是编 ...

  6. Java操作Mongodb(转载)

    好文章,值得收藏 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mo ...

  7. [转载]使用Java操作Mongodb

    HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mongodb,必须先 ...

  8. JAVA操作MongoDB数据库

    1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...

  9. 【MongoDB for Java】Java操作MongoDB

    上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...

随机推荐

  1. POJ 1198 / HDU 1401 Solitaire (记忆化搜索+meet in middle)

    题目大意:给你一个8*8的棋盘,上面有四个棋子,给你一个初始排布,一个目标排布,每次移动,可以把一个棋子移动到一个相邻的空位,或者跨过1个相邻的棋子,在保证棋子移动不超过8次的情况下,问能否把棋盘上的 ...

  2. Linux Kernel 5.1 RC5发布

    我们距离正式的Linux 5.1内核发布还有不到一个月的时间,而今天Linus Torvalds宣布推出预期的Linux Kernel 5.1 RC5版本.Linus Torvalds专门评论了Lin ...

  3. CentOS上手动配置nginx.services

    [Unit] Description=Dynamic web platform based on NGINX and LuaJIT After=network.target remote-fs.tar ...

  4. 洛谷 P2730 魔板 Magic Squares

    P2730 魔板 Magic Squares 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 ...

  5. 【Android】把外部文件拷贝的AVD安卓模拟器上的sdcard上,而且在AVD中浏览sdcard的文件

    首先.实现这一切的大前提是.你的AVD安卓模拟器,在启动之前.有设置好sdcard的大小,例如以下图.同一时候,你的AVD安卓模拟器,要处于启动状态.否则无法运行例如以下的操作. 这里以<[An ...

  6. View注入框架:Butterknife简单使用

    View注入框架 下载地址 1.Activity Binging 通过@Bind凝视字段,Butter Knife能够通过View的ID自己主动找到并把对应的视图布局. class ExampleAc ...

  7. iOS_第3方类库_側滑选项卡SlideSwitchView

    终于效果: 用法: 1.在主控制器中创建一个[SlideSwitchView]的对象实例,并用成员变量记住,如_slideSwitchView,并加入到self.view 2.设置[_slideSwi ...

  8. hdoj 1719 Friend

    Friend Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. m_Orchestrate learning system---二十五、复制类的时候最容易出现的错误是什么

    m_Orchestrate learning system---二十五.复制类的时候最容易出现的错误是什么 一.总结 一句话总结:命名空间错误导致Analyze类虽然继承了Base类,但是没有执行里面 ...

  10. metasploit.meterpreter学习笔记(博主推荐)

    Metasploit学习笔记(博主推荐) 继续上面的博客 metasploit.meterpreter的基本使用: 首先来获取当前系统(即xp)下的正在运行的一些进程 获得进程之后,我们通过migra ...