java操作mongoDB实现CURD
发布时间:2020-12-14 23:25:49 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 package com.zk.db;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.List;import org.bson.types.ObjectId;impor
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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<DBObject> dbObjects = new ArrayList<DBObject>(); 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<DBObject> 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; } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |