mongodb测试类
public class MongoManager {
private static final String MONGO_DBNAME="local";
private static final String COLLECTION_NAME="person";
private Mongo mongo=null;
private DB db=null;
private DBCollection coll=null;
public MongoManager(){
try {
mongo=new Mongo();
db=mongo.getDB(MONGO_DBNAME);
coll=db.getCollection(COLLECTION_NAME);
System.out.println("db:"+db+",coll:"+coll);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MongoException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void destory(){
if(mongo !=null){
mongo.close();
mongo=null;
db=null;
}
}
//查询单个与查询多个.
public void queryAll(){
System.out.println("queryAll start...");
DBCursor cursor = coll.find();
while(cursor.hasNext()){
System.out.println("queryAll:"+cursor.next());
}
}
//单条插入与多条插入。
public void add(){
queryAll();
System.out.println("add befor count:"+coll.count());
for(int i=0;i<5;i++){
DBObject object=new BasicDBObject();
object.put("name", "lkj"+i);
object.put("age", i);
object.put("sex", "男");
coll.save(object);
}
System.out.println("add after count:"+coll.count());
}
//单条更新与多条更新。
public void update(){
//int i=coll.update(new BasicDBObject("_id",new ObjectId("5680d3844b3ad1cd62dc8a82")), new BasicDBObject("age","22")).getN();
//System.out.println("update i:"+i);
// int j=coll.update(new BasicDBObject("_id", new ObjectId("5680d3844b3ad1cd62dc8a82")), new BasicDBObject("age", "23"), true, false).getN();
// System.out.println("update j:"+j);
BasicDBObject db=new BasicDBObject("name", "lkj");
db.append("age", 21);
db.append("sex", "男");
BasicDBObject db2=new BasicDBObject("$set", db);
BasicDBObject db3=new BasicDBObject();
Pattern p=Pattern.compile("^lkp2.*$", Pattern.CASE_INSENSITIVE);
db3.append("name", p);
//int k=coll.update(new BasicDBObject("_id", new ObjectId("5680d3844b3ad1cd62dc8a83")), db2).getN();
//前面是满足条件的,后面是要更新的内容.
int k=coll.updateMulti(db3, db2).getN();
System.out.println("update k:"+k);
}
//单条删除与多条删除
public void delete(){
//int i=coll.remove(new BasicDBObject("_id",new ObjectId("5680d3844b3ad1cd62dc8a82"))).getN();
//System.out.println("delete i:"+i);
BasicDBObject db3=new BasicDBObject();
Pattern p=Pattern.compile("^lkj.*$", Pattern.CASE_INSENSITIVE);
db3.append("name", p);
BasicDBList dblist=new BasicDBList();
dblist.add("lkj0");
dblist.add("lkj1");
BasicDBObject db=new BasicDBObject("name", new BasicDBObject("$in", dblist));
int k=coll.remove(db).getN();
System.out.println("delete k:"+k);
}
//查询单个.多个条件.模糊查询.
public void querySingle(){
// BasicDBObject db=new BasicDBObject("_id", new ObjectId("5680d2cb4b3ae0e80dc4cd16"));
// BasicDBObject db2=new BasicDBObject("age", new BasicDBObject("$lte", 26));
// db2.append("name", "lkj");
// db2.append("sex", "男");
// BasicDBList dblist=new BasicDBList();
// dblist.add(2);
// dblist.add(3);
// dblist.add(4);
BasicDBObject db=new BasicDBObject();
// db.put("age", new BasicDBObject("$in", dblist));
Pattern p=Pattern.compile("^.*1$", Pattern.CASE_INSENSITIVE);
db.append("name", p);
DBCursor cursor = coll.find(db);
while(cursor.hasNext()){
System.out.println("querySingle:"+cursor.next());
}
}
public static void main(String[] args) {
MongoManager mm=new MongoManager();
//mm.add();
//mm.update();
// mm.delete();
mm.queryAll();
//mm.querySingle();
}
}
mongodb测试类的更多相关文章
- mongoDB工具类以及测试类【java】
java操作mongo工具类 package Utils; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; im ...
- JAVA单例MongoDB工具类
我经常对MongoDB进行一些基础操作,将这些常用操作合并到一个工具类中,方便自己开发使用. 没用Spring Data.Morphia等框架是为了减少学习.维护成本,另外自己直接JDBC方式的话可以 ...
- Spring-test使用JUnit时,测试类autowired报错,create bean error
Spring-test使用JUnit时,测试类里面使用autowired会报错, 报create bean error...... 但是controller里面@autowired可以正常运行的. 在 ...
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
- Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...
- 在Eclipse中生成接口的JUnit测试类
在Spring相关应用中,我们经常使用“接口” + “实现类” 的形式,为了方便,使用Eclipse自动生成Junit测试类. 1. 类名-new-Other-java-Junit-Junit Tes ...
- TestNG之执行测试类方式
TestNG提供了很多执行方式,下面做简单介绍. 1.XML指明测试类,按照类名执行,其中可以指定包名,也可指定无包名: 带包名,运行ParameterSample类和ParameterTest类 & ...
- XCode中的单元测试:编写测试类和方法(内容意译自苹果官方文档)
当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法. 这一章演示了怎么创建测试类,以及如何编写测试方法. 测试targets, ...
- 各种数据库连接代码的测试类(java)
测试类: public class Mytest { Connection conn=null; Statement stmt=null; String myDriver="com.mysq ...
随机推荐
- C#字符串判断
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- 【TeamViewer】v13.2.26558版本 修改ID
TeamViewer是一款远程协作软件,可以让你在一台机器上操作另一台机器.比如我最近就经常在家里连接公司的电脑进行远程工作.可以说是对于程序员很好用的一个软件. TeamViewer 使用频繁后会被 ...
- kali 装好java后提示 -bash: /home/javainstall/jdk1.8.0_171/bin/java: 没有那个文件或目录
[问题现象] 在/etc/profile配置里面也是配置好了的,并且该目录是有java的 [问题原因] 出现这个问题的原因:64位的系统,安装了32位的Java. [解决方案] 通过网络搜索,发现通过 ...
- MQ简介1
站在巨人的肩膀上 关于消息队列的使用 一.消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构.目前使用较多的消息 ...
- Mybatis中分页存在的坑1
站在巨人的肩膀上 https://www.cnblogs.com/esileme/p/7565184.html 环境:Spring 4.2.1 Mybatis 3.2.8 pagehelper 5.1 ...
- 集合:set
set 就是数学上的集合——每个元素最多只出现一次.和sort一样,自定义一个类型也可以构造set ,但是必须定义“小于”运算符. 例子: 输入一个文本,找出所有不同的单词(连续的字母序列),按字典从 ...
- win 7启动tensorboard的详尽步骤
TensorBoard是TensorFlow下的一个可视化的工具,能够帮助我们在训练大规模神经网络过程中出现的复杂且不好理解的运算.TensorBoard能展示你训练过程中绘制的图像.网络结构等. 1 ...
- AU3中BitAnd与Win32汇编中的&按位进行与操作的本质思考
心越静,思考的越透彻.不要着急,宇宙有求必应!我可能是最笨的才会写出来进行思考,写出来至少自己在碰到这些本质上的问题不会再度卡壳.本着"没有交流的思考不是完整的思考"的原则,我将这 ...
- morphia(1)-基础
二.Mapping classes entity类上加注解:@Entity,其成员变量必须有@Id @Id private ObjectId id; 其在mongodb中变量名: _id @Embed ...
- 使用高性能Pipelines构建.NET通讯程序
.NET Standard支持一组新的API,System.Span, System.Memory,还有System.IO.Pipelines.这几个新的API极大了提升了.NET程序的效能,将来.N ...