9.java 操作mongodb插入、读取、修改以及删除基础
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插入、读取、修改以及删除基础的更多相关文章
- Java操作Mongodb 保存/读取java对象到/从mongodb
从http://central.maven.org/maven2/org/mongodb/mongo-java-driver/选择一个版本进行下载,这里选择的是3.0.0版本,具体下载以下jar包: ...
- java操作mongodb——插入数据
在mongodb中,表(Table)被称之为集合(Collection),记录(Record)被称为文档(Document) 首先连接到数据库 MongoClient mongoClient = ne ...
- java操作xm——添加、修改、删除、遍历
package com.xml.zh; import javax.xml.parsers.*; import javax.xml.transform.Transformer; import javax ...
- std::map的操作:插入、修改、删除和遍历
using namespace std; std::map<int,int> m_map; 1.添加 for(int i=0;i<10;i++) { m_map.insert(mak ...
- Mongodb快速入门之使用Java操作Mongodb
[IT168 专稿]在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作. HelloWorld程序 学习任何程序的第一步,都是编 ...
- Java操作Mongodb(转载)
好文章,值得收藏 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mo ...
- [转载]使用Java操作Mongodb
HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mongodb,必须先 ...
- JAVA操作MongoDB数据库
1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...
- 【MongoDB for Java】Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...
随机推荐
- webpack 操作
依赖安装 : 全局安装webpack : sudo npm install webpack -g 本地安装webpack : npm install webpack —save-dev 需要注意的 ...
- 利用MFC创建窗口、消息映射、window中的字节
利用MFC创建窗口: 1.mfc的头文件:afxwin.h 2.自定义类,继承于CWinApp,应用程序类(app应用程序对象,有且仅有一个) 3.程序入口:Initinstance 4.在程序入口中 ...
- SP687 REPEATS - Repeats(后缀数组)
一个初步的想法是我们枚举重复子串的长度\(L\).然后跑一遍SA.然后我们枚举一个点\(i\),令他的对应点为\(i+L\),然后求出这两个点的LCP和LCS的长度答案就是这个点的答案就是\((len ...
- jquery复制到剪贴板
<!DOCTYPE html> <html> <head> <title>ZeroClipboard Test</title> <me ...
- virt-install 创建虚拟机
[root@kvm-server vm]# qemu-img create -f qcow2 centos69b-disk0.qcow2 10G Formatting 'centos69b-disk0 ...
- UVALive 6084 Happy Camper(数学题)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- vim 插件之supertab
supertab.vim 这个插件是用来把tab键作为只能补全的映射,当然,具体更能肯定不仅仅只是如此,等待以后发现吧 地址 http://github.com/ervandew/supertab h ...
- thinkphp命名空间
thinkphp命名空间 总结 1.只对函数,类,及const定义的常量有效,对define定义的常量无效 2.如果函数不是为了使用,那有什么意义呢 3.ThinkPHP将命名空间转化为了路径,比如n ...
- NET下Assembly的加载过程
NET下Assembly的加载过程 最近在工作中牵涉到了.NET下的一个古老的问题:Assembly的加载过程.虽然网上有很多文章介绍这部分内容,很多文章也是很久以前就已经出现了,但阅读之后发现,并没 ...
- luogu 3393 逃离僵尸岛
题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入 ...