`
webdev2014
  • 浏览: 675923 次
文章分类
社区版块
存档分类
最新评论

java操作mongoDB数据库的简单实例

 
阅读更多

首先导入mongoDB的jar包http://pan.baidu.com/s/1bnGMJRD

//DataBase.java

package com.mongodb.test;

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;
import com.mongodb.util.JSON;

public class DataBase {
public static void main(String[] args)
throws UnknownHostException, MongoException {
//1.建立一个Mongo的数据库连接对象
Mongo mg = new Mongo("127.0.0.1:27017");
//查询所有的Database
for (String name : mg.getDatabaseNames()) {
System.out.println("dbName: " + name);
}
//2.创建相关数据库的连接
DB db = mg.getDB("foobar");
//查询数据库所有的集合
for (String name : db.getCollectionNames()) {
System.out.println("collectionName: " + name);
}

DBCollection users = db.getCollection("persons");
//查询所有的数据
DBCursor cur = users.find();
while (cur.hasNext()) {
DBObject object = cur.next();
System.out.println(object.get("name"));
}
System.out.println(cur.count());
System.out.println(cur.getCursorId());
System.out.println(JSON.serialize(cur));
}
}
//MongoDb.java

package com.mongodb.test;

import java.net.UnknownHostException;
import java.util.List;

import org.bson.types.ObjectId;

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;

public class MongoDb {
//1.建立一个Mongo的数据库连接对象
static Mongo connection = null;
//2.创建相关数据库的连接
static DB db = null;
public MongoDb(String dbName) throws UnknownHostException, MongoException{
connection = new Mongo("127.0.0.1:27017");
db = connection.getDB(dbName);
}
public static void main(String[] args) throws UnknownHostException, MongoException {
//实例化
MongoDb mongoDb = new MongoDb("foobar");
/**
* 1.创建一个名字叫javadb的数据库
*/
//mongoDb.createCollection("javadb");
/**
* 2.为集合javadb添加一条数据
*/
//DBObject dbs = new BasicDBObject();
//dbs.put("name", "uspcat.com");
//dbs.put("age", 2);
//List<String> books = new ArrayList<String>();
//books.add("EXTJS");
//books.add("MONGODB");
//dbs.put("books", books);
//mongoDb.insert(dbs, "javadb");
/**
* 3.批量插入数据
*/
//List<DBObject> dbObjects = new ArrayList<DBObject>();
//DBObject jim = new BasicDBObject("name","jim");
//DBObject lisi = new BasicDBObject("name","lisi");
//dbObjects.add(jim);
//dbObjects.add(lisi);
//mongoDb.insertBatch(dbObjects, "javadb");
/**
* 4.根据ID删除数据
*/
//mongoDb.deleteById("502870dab9c368bf5b151a04", "javadb");
/**
* 5.根据条件删除数据
*/
//DBObject lisi = new BasicDBObject();
//lisi.put("name", "lisi");
//int count = mongoDb.deleteByDbs(lisi, "javadb");
//System.out.println("删除数据的条数是: "+count);
/**
* 6.更新操作,为集合增加email属性
*/
//DBObject update = new BasicDBObject();
//update.put("$set",
//new BasicDBObject("eamil","test
@126.com"));
//mongoDb.update(new BasicDBObject(),
//update,false,true,"javadb");
/**
* 7.查询出persons集合中的name和age
*/
//DBObject keys = new BasicDBObject();
//keys.put("_id", false);
//keys.put("name", true);
//keys.put("age", true);
//DBCursor cursor = mongoDb.find(null, keys, "persons");
// while (cursor.hasNext()) {
// DBObject object = cursor.next();
// System.out.println(object.get("name"));
// }
/**
* 7.查询出年龄大于26岁并且英语成绩小于80分
*/
//DBObject ref = new BasicDBObject();
//ref.put("age", new BasicDBObject("$gte",26));
//ref.put("e", new BasicDBObject("$lte",80));
//DBCursor cursor = mongoDb.find(ref, null, "persons");
// while (cursor.hasNext()) {
// DBObject object = cursor.next();
// System.out.print(object.get("name")+"-->");
// System.out.print(object.get("age")+"-->");
// System.out.println(object.get("e"));
// }
/**
* 8.分页例子
*/
DBCursor cursor = mongoDb.find(null, null, 0, 3, "persons");
while (cursor.hasNext()) {
DBObject object = cursor.next();
System.out.print(object.get("name")+"-->");
System.out.print(object.get("age")+"-->");
System.out.println(object.get("e"));
}
//关闭连接对象
connection.close();
}
/**
* 穿件一个数据库集合
* @param collName 集合名称
* @param db 数据库实例
*/
public void createCollection(String collName){
DBObject dbs = new BasicDBObject();
db.createCollection("javadb", dbs);
}
/**
* 为相应的集合添加数据
* @param dbs
* @param collName
*/
public void insert(DBObject dbs,String collName){
//1.得到集合
DBCollection coll = db.getCollection(collName);
//2.插入操作
coll.insert(dbs);
}
/**
* 为集合批量插入数据
* @param dbses
* @param collName
*/
public void insertBatch(List<DBObject> dbses,String collName){
//1.得到集合
DBCollection coll = db.getCollection(collName);
//2.插入操作
coll.insert(dbses);
}
/**
* 根据id删除数据
* @param id
* @param collName
* @return 返回影响的数据条数
*/
public int deleteById(String id,String collName){
//1.得到集合
DBCollection coll = db.getCollection(collName);
DBObject dbs = new BasicDBObject("_id", new ObjectId(id));
int count = coll.remove(dbs).getN();
return count;
}
/**
* 根据条件删除数据
* @param id
* @param collName
* @return 返回影响的数据条数
*/
public int deleteByDbs(DBObject dbs,String collName){
//1.得到集合
DBCollection coll = db.getCollection(collName);
int count = coll.remove(dbs).getN();
return count;
}
/**
* 更新数据
* @param find 查询器
* @param update 更新器
* @param upsert 更新或插入
* @param multi 是否批量更新
* @param collName 集合名称
* @return 返回影响的数据条数
*/
public int update(DBObject find,
DBObject update,
boolean upsert,
boolean multi,
String collName){
//1.得到集合
DBCollection coll = db.getCollection(collName);
int count = coll.update(find, update, upsert, multi).getN();
return count;
}
/**
* 查询器(分页)
* @param ref
* @param keys
* @param start
* @param limit
* @return
*/
public DBCursor find(DBObject ref,
DBObject keys,
int start,
int limit,
String collName){
DBCursor cur = find(ref, keys, collName);
return cur.limit(limit).skip(start);
}
/**
* 查询器(不分页)
* @param ref
* @param keys
* @param start
* @param limit
* @param collName
* @return
*/
public DBCursor find(DBObject ref,
DBObject keys,
String collName){
//1.得到集合
DBCollection coll = db.getCollection(collName);
DBCursor cur = coll.find(ref, keys);
return cur;
}
}

分享到:
评论

相关推荐

    java操作MongoDB数据库代码实例

    该rar包中包括MOngoDB数据库操作基本的增删改查,以及在CMD命令行中怎么配置MOngodb和增删改查,还有就是连接mongoDB的jar包和详细的操作文档,本来想上传NOde.js来着,可是只能上传60兆,只能放弃了,不过这些已经...

    【MongoDB for Java】Java操作MongoDB数据库

    本篇文章现在我们就用Java来操作MongoDB的数据。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java操作mongoDB数据库的简单实例-附件资源

    java操作mongoDB数据库的简单实例-附件资源

    Java操作Mongodb数据库实现数据的增删查改功能示例

    主要介绍了Java操作Mongodb数据库实现数据的增删查改功能,结合完整实例形式分析了java针对MongoDB数据库的连接、增删改查等相关操作技巧,需要的朋友可以参考下

    java+MongoDB实现存图片、下载图片的方法示例

    主要介绍了java+MongoDB实现存图片、下载图片的方法,结合实例形式详细分析了java结合MongoDB实现图片的存储与下载相关操作技巧,需要的朋友可以参考下

    基于java的mongodb实例,代码demo

    基于java的mongodb实例,包括与数据库连接,在程序中环境的搭建,和通过java操控数据库。解压后直接导入程序即可,自己写的代码,比较糙,但是功能都ok

    java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言:  MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。  MongoDB是一个介于关系数据库和非关系数据库之间的产品,...

    MongoDB系列教程(六):java操作mongodb实例

    java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作。 首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后...

    Java单例模式下的MongoDB数据库操作工具类

    主要介绍了Java单例模式下的MongoDB数据库操作工具类,结合实例形式分析了java基于单例模式下操作MongoDB数据库相关连接、查询、插入、删除等操作封装技巧,需要的朋友可以参考下

    java开发oa系统源码下载-Spring-mongoDB:Springboot连接mongoDB数据库

    java开发oa系统源码下载 Spring-mongoDB  随着Nosql分布式数据库的不断出现,各种非关系型数据库的重要性日益涌现。本项目基于Spring-data的API,实现一个Spring boot连接文档数据库mongoDB,并对数据进行管理的...

    SpringBoot+MongoDB+Echarts图表数据可视化

    SpringBoot+MongoDB+Echarts图表数据可视化 SpringBoot+MongoDB+Echarts图表数据可视化

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    15.1.3 Java对MongoDB数据库的基本操作 15.1.4 Java驱动的一致性 15.2 Java常用操作 15.2.1 Java对MongoDB的操作实例 15.2.2 对用户的操作 15.2.3 对集合的操作 15.2.4 对索引的操作 15.3 Java...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    15.1.3 Java对MongoDB数据库的基本操作 15.1.4 Java驱动的一致性 15.2 Java常用操作 15.2.1 Java对MongoDB的操作实例 15.2.2 对用户的操作 15.2.3 对集合的操作 15.2.4 对索引的操作 15.3 Java...

    mongodb-trigger:mongodb事件触发器

    mongodb-trigger类似关系数据库的触发器,mongodb-trigger同样可以监听操作事件,粒度可以达到字段级别。使用场景同步mongodb数据到异构存储,如:mongo -&gt; elasticsearch业务cache刷新,如:redis中镜像数据监听数据...

    Mongodb实现定时备份与恢复的方法教程

    本文主要介绍了关于Mongodb实现定时备份与恢复的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: ... -d 需要备份的数据库实例,例如:test -o 备份的数据存放位置,例如:c:datadump,

    四种数据库(MySQL,HBase,Redis,MongoDB)的Java客户端所需jar包.zip

    hbase的JAVA客户端所需jar包 jedis的JAVA客户端所需jar包 mongo的JAVA客户端所需...大数据——四种数据库(MySQL,HBase,MongoDB,Redis)操作实例总结:https://blog.csdn.net/weixin_43042683/article/details/106230370

    springMongodb参考文档中文版

    2.了解NoSQL和文档数据库 3.要求 4.其他帮助资源 4.1。支持 4.1.1。社区论坛 4.1.2。专业支持 4.2。发展之后 5.新&值得注意的 5.1。Spring Data MongoDB 2.1中的新特性 5.2。Spring Data MongoDB 2.0中的新特性 5.3...

    MongoDB权威指南 中文版第一版

    了解MongoDB的无模式数据模型如何处理文档、集合和多个数据库之间的关系。执行基本的写入操作,构建各种复杂的查询,任何条件下都能查出数据。使用索引、聚合工具,以及其他高级查询技巧。了解监控、安全和认证、...

    人工智能-项目实践-深度学习-基于Kafka和MongoDB的结构化日志异步记录和预警框架.zip

    之所以选择MongoDB,而不是其他关系型数据库或key-value型数据库,是为了兼顾结构化日志的分析能力(MongoDB提供了强大的条件查询能力)和性能(抛弃强一致性事务令MongoDB有着比关系型数据库高得多的性能)

Global site tag (gtag.js) - Google Analytics