[MongoDB]MongoDB与JAVA结合使用CRUD
汇总:
1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB与JAVA结合使用CRUD
使用起来也相当简单,由于MongoDB是类文件的数据库,所以其操作起来非常方便
首先下载相应的jar包,这里我直接使用Maven自动获取,以下为POM文件中的配置:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.7.2</version>
</dependency>
一个MongoDb的jar包和Junit的jar包,即可
后面即可开始编写代码,直接在某个java类的main方法中调用即可:
public static void main(String[] args) throws Exception{
// 创建一个Mongo实例,默认使用本地"127.0.0.1", 27017
Mongo mongo1j = new Mongo();
// 使用IP+端口号创建
Mongo mongo = new Mongo("127.0.0.1", 27017);
// 得到所有数据库的名称
for(String name : mongo.getDatabaseNames()) {
System.out.println("dbName: " + name);
}
// 取得某个数据库,用于后续对数据库的操作
DB db = mongo.getDB("student");
for(String name : db.getCollectionNames()) {
System.out.println("collectionName: " + name);
}
// 取得对应的集合
DBCollection students = db.getCollection("student");
// 查询所有集合中的数据
DBCursor cur = students.find();
// 遍历集合中的所有内容
while(cur.hasNext()) {
System.out.println(cur.next());
}
System.out.println("cur.count(): " + cur.count());
System.out.println("cur.getCursorId(): " + cur.getCursorId());
System.out.println("JSON.serialize(): " + JSON.serialize(cur));
// DELETE操作
students.remove(new BasicDBObject("name", "yangjx"));
System.out.println("cur.count(): " + cur.count());
// ADD操作
DBObject student = new BasicDBObject();
student.put("name", "yangjx");
student.put("age", 55);
students.save(student);
System.out.println("cur.count(): " + cur.count());
// UPDATE操作
DBObject updateObj = new BasicDBObject();
updateObj.put("age", 30);
updateObj.put("name", "zhangGY");
updateObj.put("extra", "markHere");
students.update(new BasicDBObject("age", 30), updateObj);
System.out.println(JSON.serialize(students.find(new BasicDBObject("name", "zhangGY"))));
}
上述代码执行完成之后会打印出如下:
dbName: local
dbName: student
collectionName: colName
collectionName: student
collectionName: system.indexes
{ "_id" : { "$oid" : "555ae83a09668180fadccdeb"} , "age" : 30}
{ "_id" : { "$oid" : "555ae84009668180fadccdec"} , "name" : "zhangYC" , "age" : 29.0 , "sex" : true}
{ "_id" : { "$oid" : "555ae84709668180fadccded"} , "name" : "zhangYYQ" , "age" : 30.0 , "sex" : true}
{ "_id" : { "$oid" : "555aebdb09b332c5a188b620"} , "passwd" : "1234"}
{ "_id" : { "$oid" : "555d80d7b7a5042665b195ae"} , "name" : "yangjx" , "age" : 55}
cur.count(): 5
cur.getCursorId(): 0
JSON.serialize(): [ { "_id" : { "$oid" : "555ae83a09668180fadccdeb"} , "age" : 30} , { "_id" : { "$oid" : "555ae84009668180fadccdec"} , "name" : "zhangYC" , "age" : 29.0 , "sex" : true} , { "_id" : { "$oid" : "555ae84709668180fadccded"} , "name" : "zhangYYQ" , "age" : 30.0 , "sex" : true} , { "_id" : { "$oid" : "555aebdb09b332c5a188b620"} , "passwd" : "1234"} , { "_id" : { "$oid" : "555d80d7b7a5042665b195ae"} , "name" : "yangjx" , "age" : 55}]
cur.count(): 4
cur.count(): 5
[ { "_id" : { "$oid" : "555ae83a09668180fadccdeb"} , "age" : 30 , "name" : "zhangGY" , "extra" : "markHere"}]
参考:
http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html
[MongoDB]MongoDB与JAVA结合使用CRUD的更多相关文章
- 4.0.3的mongodb 安装和java使用
一 整合 由于本人的码云太多太乱了,于是决定一个一个的整合到一个springboot项目里面. 附上自己的github项目地址 https://github.com/247292980/spring- ...
- MongoDB学习笔记:文档Crud Shell
MongoDB学习笔记:文档Crud Shell 文档插入 一.插入语法 db.collection.insertOne() 将单个文档插入到集合中.db.collection.insertMan ...
- [MongoDB]MongoDB的优缺点及与关系型数据库的比较
汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...
- Getting Started with MongoDB (MongoDB Shell Edition)
https://docs.mongodb.com/getting-started/shell/ Overview Welcome to the Getting Started with MongoDB ...
- 【MongoDB数据库】Java MongoDB CRUD Example
上一页告诉我们MongoDB 命令入门初探,本篇blog将基于上一篇blog所建立的数据库和表完毕一个简单的Java MongoDB CRUD Example.利用Java连接MongoDB数据库,并 ...
- MongoDB - MongoDB CRUD Operations
CRUD operations create, read, update, and delete documents. Create Operations Create or insert opera ...
- mongodb学习(三) 安装和基本CRUD
菜鸟啊...先吐槽一下自己 发现mongodb已经升级到2.6标准版了. 服务端最新安装方法: http://www.cnblogs.com/lzrabbit/p/3682510.html 一 准备 ...
- MongoDB分页的Java实现和分页需求的思考
前言 传统关系数据库中都提供了基于row number的分页功能,切换MongoDB后,想要实现分页,则需要修改一下思路. 传统分页思路 假设一页大小为10条.则 //page 1 1-10 //pa ...
- MongoDB 3.X JAVA基本操作
对Collection的操作 import java.util.ArrayList; import java.util.Iterator; import java.util.List; import ...
随机推荐
- NSUserDefaults:熟悉与陌生(转)
转载自:http://swiftcafe.io/2016/04/04/nsuserdefaults/?hmsr=toutiao.io&utm_medium=toutiao.io&utm ...
- 适配iOS10及Xcode8
一.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automatically manage signing(Ps.但是在bea ...
- 架构师养成记--3.synchronized细节问题
一.synchronized有锁重入的特点,某个线程得到对象的锁后,再次请求此对象可以再次得到改对象的锁.如下示例,在method1中调用method2,在method2中调用method3,而met ...
- RabbitMQ 消息确认机制
消息确认机制 在之前异常处理部分就已经写了,对于consumer的异常退出导致消息丢失,可以时候consumer的消息确认机制.重复的就不说了,这里说一些不一样的. consumer的消息确认机制 当 ...
- R读取溢出的数据
读取含多位数的数据 1(首选). install.packages("readxl")library(readxl) x<-read_excel("C:\\User ...
- [Data Structure] 数据结构中各种树
数据结构中有很多树的结构,其中包括二叉树.二叉搜索树.2-3树.红黑树等等.本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂. 1. 二叉树 二叉树是数据结构中一种重要 ...
- UVA-11997 K Smallest Sums
UVA - 11997 K Smallest Sums Time Limit: 1000MS Memory Limit: Unknown 64bit IO Format: %lld & ...
- Linux线程同步:条件变量
条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用.使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化.一旦其它 ...
- Apache限制某个目录下的PHP文件没有执行权限
为了安全期间,有时我们需要限制网站下的某些目录对于php脚本不能执行. 有两种方法可以参考: 1. 使用.htaccess 文件限制 在要限制php执行的目录下,创建.htaccess文件,加入内容 ...
- class Solution(object): def fizzBuzz(self, n): a = [] i = 1 while(i <= n): if(i%15 == 0): a.append("FizzBuzz") elifleetcode day_01
412. Fizz Buzz Write a program that outputs the string representation of numbers from 1 to n. But fo ...