MongoDB 之Java应用测试

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 不多说了,看源码 package corejava2.mongo.basic; import java.net.UnknownHostException; import org.bson.

不多说了,看源码

package corejava2.mongo.basic;

import java.net.UnknownHostException;

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;

/**
 * TODO
 * 
 * @author Master HaKu
 * @version TODO
 */
public class MongoDbTest {

    private Mongo mg = null;
    private DB db;
    private DBCollection users;

    /**
     * 初始化 TODO
     */
    public void init() {
        try {
            // mg=new Mongo();
            mg = new Mongo("192.168.16.103", 27017);
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MongoException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // 获取temp DB 如果默认没有 会自动创建
        db = mg.getDB("temp");
        // 获取users Collection 如果默认没有 会自动创建
        users = db.getCollection("users");

    }

    /**
     * 销毁 TODO
     */
    public void destory() {
        if (mg != null) {
            mg.close();
        }
        mg = null;
        db = null;
        users = null;
        System.gc();

    }

    /**
     * <b>function:</b> 查询所有数据
     * 
     * @author Master HaKu
     * @createDate 2013-02-07
     */
    public void queryAll() {
        print("查询users的所有数据");
        // Db游标
        DBCursor cur = users.find();
        while (cur.hasNext()) {
            print(cur.next());
        }
    }

    /**
     * 
     * <b>function:</b>添加数据
     * 
     * @author Master HaKu
     * @createDate 2013-02-07
     */
    public void add() {
        queryAll();

        print("count:" + users.count());
        DBObject user = new BasicDBObject();
        user.put("name", "david");
        user.put("age", 30);

        // users.save(user);
        // print(users.save(user).getN());

        user.put("sex", "男");
        print(users.save(user).getN());

        print("count:" + users.count());
        queryAll();

    }

    /**
     * 
     * <b>function:</b>删除数据
     * 
     * @author Master HaKu
     * @createDate 2013-02-07
     */
    public void remove() {
        queryAll();
        print("删除id = 51135e5649a6af891f85f8f3:"
                + users.remove(
                        new BasicDBObject("_id", new ObjectId("51135e5649a6af891f85f8f3")))
                        .getN());
        queryAll();
    }

    public void print(Object o) {
        System.out.println(o);
    }

    public void start() {
        init();
        add();
        //destory();
        remove();
        queryAll();

    }

    /**
     * TODO
     * 
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MongoDbTest t = new MongoDbTest();
        t.start();
    }
}

 

运行结果:

查询users的所有数据
{ "_id" : { "$oid" : "5113608549a6cfc804af1d1b"} , "name" : "david" , "age" : 30 , "sex" : "男"}
{ "_id" : { "$oid" : "511360ad49a60eb5a8479be7"} , "name" : "david" , "age" : 30 , "sex" : "男"}

 

 

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
28天前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
5天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
28 9
|
10天前
|
存储 NoSQL atlas
探索MongoDB:发展历程、优势与应用场景
MongoDB 是一个开源的文档型数据库,由 DoubleClick 团队于2007年创立,旨在解决传统数据库的扩展性和灵活性问题。它支持 JSON 格式的存储和查询,具备高可用性、高扩展性和灵活性等优势。MongoDB 适用于社交、物联网、视频直播和内容管理等多种场景,并被阿里巴巴、腾讯等一线互联网公司广泛使用。其主要版本包括 MongoDB Atlas(云服务)、MongoDB Enterprise Advanced(商业版)和 MongoDB Community Edition(免费版)。自2009年发布1.0版本以来,MongoDB 不断创新,最新版本为7.0,在性能和功能上持续优化。
49 12
|
7天前
|
安全 算法 Java
Java CAS原理和应用场景大揭秘:你掌握了吗?
CAS(Compare and Swap)是一种乐观锁机制,通过硬件指令实现原子操作,确保多线程环境下对共享变量的安全访问。它避免了传统互斥锁的性能开销和线程阻塞问题。CAS操作包含三个步骤:获取期望值、比较当前值与期望值是否相等、若相等则更新为新值。CAS广泛应用于高并发场景,如数据库事务、分布式锁、无锁数据结构等,但需注意ABA问题。Java中常用`java.util.concurrent.atomic`包下的类支持CAS操作。
31 2
|
30天前
|
缓存 Java 开发者
Java多线程并发编程:同步机制与实践应用
本文深入探讨Java多线程中的同步机制,分析了多线程并发带来的数据不一致等问题,详细介绍了`synchronized`关键字、`ReentrantLock`显式锁及`ReentrantReadWriteLock`读写锁的应用,结合代码示例展示了如何有效解决竞态条件,提升程序性能与稳定性。
133 6
|
28天前
|
监控 Java 数据库连接
Java线程管理:守护线程与用户线程的区分与应用
在Java多线程编程中,线程可以分为守护线程(Daemon Thread)和用户线程(User Thread)。这两种线程在行为和用途上有着明显的区别,了解它们的差异对于编写高效、稳定的并发程序至关重要。
32 2
|
1月前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试框架在软件开发中的应用与挑战##
本文将深入探讨自动化测试框架在现代软件开发过程中的应用,分析其优势与面临的挑战。通过具体案例分析,揭示如何有效整合自动化测试以提升软件质量和开发效率。 ##
|
30天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
62 1
|
1月前
|
关系型数据库 MySQL Java
MySQL索引优化与Java应用实践
【11月更文挑战第25天】在大数据量和高并发的业务场景下,MySQL数据库的索引优化是提升查询性能的关键。本文将深入探讨MySQL索引的多种类型、优化策略及其在Java应用中的实践,通过历史背景、业务场景、底层原理的介绍,并结合Java示例代码,帮助Java架构师更好地理解并应用这些技术。
42 2
|
1月前
|
Java 测试技术 API
软件测试中的自动化测试框架选择与应用##
在快速迭代的软件开发周期中,选择合适的自动化测试框架对于提高软件质量和开发效率至关重要。本文探讨了当前流行的几种自动化测试框架的特点和适用场景,旨在为软件开发团队提供决策依据。 ##