您的位置:首页 > 编程语言 > Java开发

java mongo操作

2016-05-04 10:10 204 查看
一、安装java驱动

java驱动是一个叫mongo-java-driver-3.2.2.jar包

maven配置

<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>


下载地址:具体版本可自行选择下载 http://mvnrepository.com/artifact/org.mongodb/mongo-java-driver
二、java操作Mongodb

java操作Mongodb常用的几个类:

Mongo:连接服务器,执行一些数据库操作的选项,如新建立一个数据库等

DB:对应一个数据库,可以用来建立集合等操作

DBCollection:对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等

DBObject接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key-value的数据结构,用起来和HashMap是基本一致的。

DBCursor:用来遍历取得的数据,实现了Iterable和Iterator

三,工具类

下面是我测试使用的工具类,包含几个测试方案,

package util;

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.Mongo;
import com.mongodb.WriteConcern;

/**
* @Description:
* @author:
* @date 2016-5-3 上午8:58:21
* @version
*/
@SuppressWarnings("deprecation")
public class MongoUtil {
private static Mongo mongo;
private static DB db;

static{
mongo = new Mongo("192.168.1.109",27017);
}

public static Mongo getMong(){
return mongo;
}

public static DB getDB(){
if(db==null){
db = mongo.getDB("");
}
return db;
}

/**
* 获取所有数据库实例
*/
public void testGetDBS() {
List<String> dbnames = this.mongo.getDatabaseNames();
for (String dbname : dbnames) {
System.out.println("dbname:" + dbname);
}
}

/**
* 添加数据库
*/
public void addDB(){
DB mydb = this.mongo.getDB("myMongo");//没有则自动创建
DBCollection collection=mydb.getCollection("user");//创建集合
BasicDBObject doc = new BasicDBObject();
doc.put("name", "MongoDB");
doc.put("type", "database");
doc.put("count", 1);
collection.insert(doc);//插入数据
System.out.println("数据库列表:"+ this.mongo.getDatabaseNames());
}

/**
* 删除数据库
*/
public void dropDB(){
System.out.println("数据库列表:"+ this.mongo.getDatabaseNames());
this.mongo.dropDatabase("myMongo");
System.out.println("数据库列表:"+ this.mongo.getDatabaseNames());
}

/**
* 查询所有表名
*/
public void getAllCollections() {
Set<String> colls = this.mongo.getDB("myMongo").getCollectionNames();
for (String s : colls) {
System.out.println(s);
}
}

/**
* 删除集合
*/
public void dropCollection() {
this.mongo.getDB("myMongo").getCollection("user").drop();
}

/**
* 查询所有结果
*/
public void getAllDocuments() {
DBCursor cursor = this.mongo.getDB("myMongo").getCollection("user").find();
try {
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
} finally {
cursor.close();
}
}

/**
* 添加记录
*/
public void addDate(){
DBCollection coll = this.mongo.getDB("myMongo").getCollection("user");
BasicDBObject doc = new BasicDBObject();
doc.put("name", "星星");
doc.put("type", "测试");
doc.put("count", 1);

BasicDBObject info = new BasicDBObject();
info.put("x", 2015);
info.put("y", 2016);
doc.put("info", info);
coll.insert(doc);
// 设定write concern,以便操作失败时得到提示
coll.setWriteConcern(WriteConcern.SAFE);
}

public static void main(String[] args) {
MongoUtil mongoUtil = new MongoUtil();
//		mongoUtil.testGetDBS();
//		mongoUtil.addDB();
//		mongoUtil.dropDB();
//		mongoUtil.getAllCollections();
//		mongoUtil.dropCollection();
//		mongoUtil.getAllCollections();
mongoUtil.getAllDocuments();
//		mongoUtil.addDate();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: