java 操作mongodb_java操作mongoDB实现CURD

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

package com.zk.db;

import java.net.UnknownHostException;

import java.util.ArrayList;

import java.util.List;

import org.bson.types.ObjectId;

import org.junit.Test;

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;

/**

* 测试mongodb curd

* @author zk

* @time 2015年4月24日23:19:15

*/

public class DataTest {

// 1.建立一个Mongo的数据库连接对象

static Mongo connection = null;

// 2.创建相关数据库的连接

static DB db = null;

static {

try {

connection = new Mongo("127.0.0.1:27017"); //默认链接地址

} catch (Exception e) {

e.printStackTrace();

}

db = connection.getDB("one");//获取数据库名称

}

/**

* 测试创建数据文档集合 类似 数据表 person

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test1() throws UnknownHostException,MongoException {

// 实例化

MongoDb mongoDb = new MongoDb("one");

mongoDb.createCollection("person");

}

/**

* 测试添加一条记录

*

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test2() throws UnknownHostException,MongoException {

// 实例化

DBObject p1 = new BasicDBObject();

p1.put("name","zk00");

insert(p1,"person");

}

/**

* 测试添加一条记录

*

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test3() throws UnknownHostException,MongoException {

List dbObjects = new ArrayList();

DBObject zs = new BasicDBObject("name","zhaosi");

DBObject zq = new BasicDBObject("name","zhuqi");

dbObjects.add(zs);

dbObjects.add(zq);

insertBatch(dbObjects,"person");

}

/**

* 测试 根据id 删除一条记录

*

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test4() throws UnknownHostException,MongoException {

deleteById("553a5accb9d133bcf4056a40","person");

}

/**

* 测试 根据条件 删除

*

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test5() throws UnknownHostException,MongoException {

DBObject obj = new BasicDBObject();

obj.put("name","zk00");

int count = deleteByDbs(obj,"person");

System.out.println("删除数据的条数是: " + count);

}

/**

* 测试 更新操作

*

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test6() throws UnknownHostException,MongoException {

DBObject obj = new BasicDBObject();

obj.put("name","zhaosi");

DBObject update = new BasicDBObject();

update.put("$set",new BasicDBObject("name","nn1"));

update(obj,update,false,true,"person");

}

/**

* 测试 查询出person集合中的name

*

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test7() throws UnknownHostException,MongoException {

DBObject keys = new BasicDBObject();

keys.put("_id",false);

keys.put("name",true);

DBCursor cursor = find(null,keys,"person");

while (cursor.hasNext()) {

DBObject object = cursor.next();

System.out.println(object.get("name"));

}

}

/**

* 测试 分页

*

* @throws UnknownHostException

* @throws MongoException

*/

@Test

public void test8() throws UnknownHostException,MongoException {

DBCursor cursor = find(null,null,6,"person");

while (cursor.hasNext()) {

DBObject object = cursor.next();

System.out.print("name=" + object.get("name") + " ");

System.out.println("_id=" + object.get("_id"));

}

}

/**

* 创建一个数据库集合

*

* @param collName

* 集合名称

* @param db

* 数据库实例

*/

public void createCollection(String collName) {

DBObject dbs = new BasicDBObject();

db.createCollection("person",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 dbses,String collName) {

DBCollection coll = db.getCollection(collName);

coll.insert(dbses);

}

/**

* 根据id删除数据

*

* @param id

* @param collName

* @return 返回影响的数据条数

*/

public int deleteById(String id,String collName) {

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) {

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) {

DBCollection coll = db.getCollection(collName);

int count = coll.update(find,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,collName);

return cur.limit(limit).skip(start);

}

/**

* 查询 (不分页)

* @param ref

* @param keys

* @param start

* @param limit

* @param collName

* @return

*/

public DBCursor find(DBObject ref,String collName) {

DBCollection coll = db.getCollection(collName);

DBCursor cur = coll.find(ref,keys);

return cur;

}

}

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值