关于Mongdb的java的CRUD操作
package mongodb;
import java.net.UnknownHostException;
import java.util.List;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
public class MongoCRUD {
public static void main(String[] args) {
try {
这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。
Mongo mongo = new Mongo();
也可以这样 连接数据库
//MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
//获得所有数据库名字
List<String> list = mongo.getDatabaseNames();
for (String dbName : list) {
System.out.println("DataBaseName="+dbName);
}
//得到数据库 如果没有,则创建
DB db = mongo.getDB("myTest");
//获取db数据库的所有表名(在这里用集合表示)
Set<String> set = db.getCollectionNames();
for (String string : set) {
System.out.println("tablesName="+string);
}
//得到该数据库的表 如果没有,则创建
DBCollection coll = db.getCollection("myTables");
//第一种方式用BasicDBObject插入JSON格式数据
BasicDBObject dbObject1 = new BasicDBObject();
dbObject1.append("id", 1).append("name", "jerry").append("age", 23).append("job", "程序员").append("address", "深圳");
BasicDBObject dbObject2 = new BasicDBObject();
dbObject2.put("id", 2);
dbObject2.put("name", "enen");
dbObject2.put("age", 22);
dbObject2.put("address", "惠州");
dbObject2.put("jerry", dbObject1);
coll.insert(dbObject2);
//第二种用BasicDBObjectBuilder
BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()
.add("database", "mkyongDB")
.add("table", "hosting");
BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()
.add("records", "99")
.add("index", "vps_index1")
.add("active", "true");
documentBuilder.add("detail", documentBuilderDetail.get());
coll.insert(documentBuilder.get());
//第三种用Map对象
Map documentMap =new HashMap();
documentMap.put("database", "mkyongDB");
documentMap.put("table", "hosting");
Map documentMapDetail =new HashMap();
documentMapDetail.put("records", "99");
documentMapDetail.put("index", "vps_index1");
documentMapDetail.put("active", "true");
documentMap.put("detail", documentMapDetail);
coll.insert(new BasicDBObject(documentMap));
// 第四种方法,也就是最简单的,即直接插入JSON格式数据
String json ="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject =(DBObject)JSON.parse(json);
coll.insert(dbObject);
//查询所有的数据
DBCursor cursor = coll.find();
System.out.println(cursor.count());
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//删除 找到第一个删除
DBObject findOne = coll.findOne();
coll.remove(findOne);
System.out.println("修改前------------------------");
DBObject updateCondition=new BasicDBObject();
updateCondition.put("name", "enen");
DBObject updatedValue=new BasicDBObject();
updatedValue.put("age", 3);
updatedValue.put("address", "boss");
DBObject updateSetValue=new BasicDBObject("$set",updatedValue);
coll.update(updateCondition, updateSetValue,true,false);//后面两个参数设置,前面一个是where条件不存在时,插入数据。后面一个是是否修改多条记录。
System.out.println("修改后---------------");
DBCursor find = coll.find();
while(find.hasNext()){
DBObject next = find.next();
System.out.println(next);
}
System.out.println(JSON.serialize(cursor));
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
在这里因为没什么时间,所有没有抽取到方法,通过方法调用,挤在一个主类中,有时间在把他重构。
关于Mongdb的java的CRUD操作的更多相关文章
- mongoDB Java SDK CRUD操作例子
Example: package com.sdfwerwer.test; import java.net.UnknownHostException; import com.mongodb.Basi ...
- 【Java EE 学习 44】【Hibernate学习第一天】【Hibernate对单表的CRUD操作】
一.Hibernate简介 1.hibernate是对jdbc的二次开发 2.jdbc没有缓存机制,但是hibernate有. 3.hibernate的有点和缺点 (1)优点:有缓存,而且是二级缓存: ...
- 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】
一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...
- 【JAVA与DOM4J实现对XML文档的CRUD操作】
一.简介 1.网上下载DOM4J 1.6.1压缩包,解压开之后,发现几个目录和一个jar文件,jar文件是必须的文件其它目录: docs目录:帮助文档的目录,单击index.html: Quick s ...
- 【JAVA解析XML文件实现CRUD操作】
一.简介. 1.xml解析技术有两种:dom和sax 2.dom:Document Object Model,即文档对象模型,是W3C组织推荐的解析XML的一种方式. sax:Simple API f ...
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- JAVA实现DAO基本层CRUD操作
随着shh2各种操作方便框架.越来越多JAVA WEB效率,可是,假设在不了解这些框架使用的场合的情况下,一拿到项目就盲目地选择这些框架进行系统架构的搭建,就有可能造成非常多不是必需的资源浪费. 在项 ...
- java oop第09章_JDBC02(CRUD操作)
第09章_JDBC02(CRUD操作) CRUD(CREATE . RETIVE . UPDATE . DELETE)增删改查. DAO中会提供一些CRUD操作方法,调用者可以通过调用这些方法完成相应 ...
- Java实战之02Hibernate-01简介、常用接口、CRUD操作
一.Hibernate简介 1.Hibernate在开发中所处的位置 2.ORM映射 Object :面向对象领域的 Relational:关系数据库领域的 Mapping:映射 Object: Re ...
随机推荐
- IMacro 脚本简记
抓取速卖通纠纷订单详情,生成csv进行统计. var macro1="CODE:";macro1+="VERSION BUILD=8970419 RECORDER=FX& ...
- 何为PostgreSQL?
PostgreSQL 是以加州大学伯克利分校计算机系开发的 POSTGRES, Version 4.2 为基础的对象关系型数据库管理系统(ORDBMS).POSTGRES 领先的许多概念只是在非常迟的 ...
- Android 简单的图片缩放方法
很简单的一个图片缩放方法,注意要比例设置正确否则可能会内存溢出 相关问题 java.lang.IllegalArgumentException: bitmap size exceeds 32bits ...
- HDU 5903 Square Distance
$dp$预处理,贪心. 因为$t$串前半部分和后半部分是一样的,所以只要构造前一半就可以了. 因为要求字典序最小,所以肯定是从第一位开始贪心选择,$a,b,c,d,...z$,一个一个尝试过去,如果发 ...
- CSU 1806 Toll
最短路,自适应$Simpson$积分. 看了别人的题解才知道有个东西叫自适应$Simpson$积分. 有这样一个积分公式:$\int_a^b {f(x)dx} \approx \frac{{b - ...
- 用ftplib爆破FTP口令
#coding:utf-8 #author:jwong import ftplib def bruteLogin(hostname,passwordFile): with open(passwordF ...
- 语义化标签SEO
语义标签 title 和 h1 的区别,我的理解是: title 是整个网页的标题,突出整个网站的内容,H1 突出的是一篇文章的内容. b 与 strong 的区别,b只是样式的加粗,strong 是 ...
- 《HTML5与CSS3权威指南》读书笔记(下册)—CSS3篇
大而全的CSS3 API类型书,并带有一些实用案例讲解,层次分明分类明确,新增技术都做了详情介绍.个人觉得如果在细节和文字表达上再下些功夫会更出色,其中部分内容如:rem.Media Queries网 ...
- Javascript中valueOf与toString区别
前言 基本上,所有JS数据类型都拥有这两个方法,null除外.它们俩解决JavaScript值运算与显示的问题,重写会加大它们调用的优化. 测试分析 先看一例:var aaa = { i: 10, ...
- Mybatis的传参
最近重新温习了遍Mybatis ,觉得还是汇总一下比较好,方便自己以后的快速开发 最终要的一点事,自己写的话,记忆更加深刻: 首先自己先写了个静态块,防止代码冗余: private static Sq ...