`

NoSql之mongo实现数据库数据操作

阅读更多
1、创建唯一数据库实例DB
package com.boonya.mongo;
import java.net.UnknownHostException;
import java.util.Arrays;
import com.mongodb.DB;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;

public class DBConnection {
	
	private DBConnection(){}
	
	private static String  userName="boonya";
	private static char [] password="boonya".toCharArray();
	private static  DB db=null;
	
	/**
	 * mongoClient = new MongoClient();
     * // or
     * mongoClient = new MongoClient( "localhost" );
     * // or
     * mongoClient = new MongoClient( "localhost" , 27017 );
     * // or, to connect to a replica set, supply a seed list of members
	 * @return
	 */
	public synchronized static DB getInstance(){
        if(db==null){
    		MongoClient mongoClient=null;
    		try {
    			mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017),
    					new ServerAddress("localhost", 27018),
    					new ServerAddress("localhost", 27019)));
    		} catch (UnknownHostException e) {
    			e.printStackTrace();
    		}
    		db = mongoClient.getDB("mydb");
    		boolean auth = db.authenticate(userName,password);
            if(!auth){                      //the authentication is invalid
            	return null;
            }
        }
		return db;
	}

}

2、创建CRUD操作工具类
package com.boonya.mongo.optimize;
import java.net.UnknownHostException;
import com.boonya.mongo.utils.ConstantUtils;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.MongoOptions;

public class MongDbCRUD {
	
	private static Mongo mongo = null;
	private static DB db;
	private static DBCollection table;
	
	private static MongDbCRUD instace;
	
	public static synchronized MongDbCRUD getInstance(){
		if(instace==null||mongo==null||db==null||table==null){
			instace = new MongDbCRUD();
		}
		return instace;
	}
	
	public MongDbCRUD(){
		String host = ConstantUtils.getValue("mongo.host").toString();
		int port = Integer.parseInt(ConstantUtils.getValue("mongo.port").toString());
		String datablease = ConstantUtils.getValue("mongo.datablease").toString();
		String tablelename = ConstantUtils.getValue("mongo.table.bound").toString();
		
		try {
			mongo = new Mongo(host, port);
			// 连接池
			MongoOptions opt = mongo.getMongoOptions();
			opt.connectionsPerHost =  10  ; //poolsize
			opt.threadsAllowedToBlockForConnectionMultiplier =  10 ;
			
			//获取temp DB;如果默认没有创建,mongodb会自动创建
			db = mongo.getDB(datablease);
			//获取users DBCollection;如果默认没有创建,mongodb会自动创建
			table = db.getCollection(tablelename);
			//DO SOMETHING
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		}
	}
	
	public MongDbCRUD(String host, int port, String datablease, String tablelename){
		try {
			mongo = new Mongo(host, port);
			// 连接池
			MongoOptions opt = mongo.getMongoOptions();
			opt.connectionsPerHost =  10  ; //poolsize
			opt.threadsAllowedToBlockForConnectionMultiplier =  10 ;
			
			//获取temp DB;如果默认没有创建,mongodb会自动创建
			db = mongo.getDB(datablease);
			//获取users DBCollection;如果默认没有创建,mongodb会自动创建
			table = db.getCollection(tablelename);
			//DO SOMETHING		
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		}
	}
	
	public static void free(){
		if(mongo!=null){
			mongo.close();
		}
		mongo = null;
		db = null;
		table = null;
		System.gc();
	}
	
	public static DBCollection getDBCollection(){
		return table;
	}
	
	public void add(DBObject row){
		table.save(row);
	}
	
	public void query(){
		DBCursor cur = table.find();
		while (cur.hasNext()) { 
			DBObject dbobject = cur.next();
			System.out.println(dbobject.get("key"));//get value
		} 
	}
	
}
//注:mongo.properties的内容如下,
#mongodb setting
mongo.host=192.168.20.38
mongo.port=27017
mongo.database=map
mongo.table.bound=bound
mongo.username=username
mongo.pwd=pwd
分享到:
评论

相关推荐

    Nosql数据库原理与应用综合项目

    运行环境:包括Ubuntu 16.04、Windows 11操作系统,Hadoop 2.7.1大数据框架,以及Redis、MongoDB、HBase、Neo4j等NoSQL数据库。 数据集与预处理:通过Python爬取,得到14371个二手房数据,经过合并、字段调整、空值...

    mongodb 数据库基本操作指南.pdf

    MongoDB 是一个基于文档的 NoSQL 数据库,它使用 BSON(Binary JSON)作为数据存储格式,允许用户以灵活的方式存储和查询数据。以下是 MongoDB 数据库的基本操作,包括创建数据库、创建集合、插入数据、查询数据、...

    mongodb 数据库基本操作.docx

    MongoDB 是一个基于文档的 NoSQL 数据库,它使用 BSON(Binary JSON)格式存储数据。以下是 MongoDB 数据库的一些基本操作: 1. 连接 MongoDB 通常,你可以使用 MongoDB Shell(mongo)来连接 MongoDB 数据库。 ...

    mongodb 数据库基本操作.doc

    MongoDB 是一个基于文档的 NoSQL 数据库,使用 BSON(Binary JSON)作为其数据存储格式。以下是一些 MongoDB 数据库的基本操作: 1. 连接 MongoDB 通常,你可以使用 MongoDB Shell 或 MongoDB 驱动程序(如 Python ...

    Spring4 整合MongoDB详细讲解项目源码

    Mongo DB 是目前在IT行业非常流行的一种非关系型数据库 NoSql 其灵活的数据存储方式备受当前IT从业人员的青睐 Mongo DB很好的实现了面向对象的思想 OO思想 在Mongo DB中 每一条记录都是一个Document对象 Mongo DB...

    NoSQL云数据库mongoDB的C#示例(vs2005)

    本例是本人参考网上资料自行编写的,希望对感兴趣的朋友有所帮助(里面有mongodb的启动说明与shell命令操作说明)! MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据...

    DBeaver数据库管理工具

    DBeaver 采用 Eclipse 框架开发,支持插件扩展,并且提供了许多数据库管理工具:ER 图、数据导入/导出、数据库比较、模拟数据生成等。 DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL...

    note_mongo.7z

    NoSQL非关系型数据库,MongoDB的简介MongoDB的介绍 MongoDB安装 MongoDB基本操作 MongoDB数据查询 MongoDB集合 MongoDB聚合 索引和备份 mongo和python交互

    MongoDB NOSQL数据库

    介于关系数据库和非关系数据库之间的产品,是非...Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

    Android-NoSql:轻巧,结构简单的NoSQL数据库,适用于Android

    轻巧,结构简单的NoSQL数据库,适用于Android 下载 dependencies { implementation ' com.github.florent37:android-nosql:1.0.0 ' } 将数据另存为结构树 noSql . put( " /users/ " , " florent " ) noSql . put...

    mongoDB6.0.5

    mongodb是一个介于nosql数据库和mysql数据库之间的一个数据存储系统,它没有严格的数据格式,但同时支持复杂查询,而且自带sharding模式和Replica Set模式,支持分片模式,复制模式,自动故障处理,自动故障转移,...

    windows与mac安装mongodb数据库的方法步骤与注意事项

    Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。 windows 安装 这里我说的是命令行安装方法 准备.到官网下载相应的版本 https://www.mongodb.org/ ...

    PHP数据库操作四:mongodb用法分析

    传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无规则数据的存储时,传统关系型数据库建表时对不同字段的处理也显得有些乏力,mongo应运而生,而且ajax技术的广泛应用,json格式的广泛接受,...

    mongo-db:蒙戈数据库

    蒙戈数据库Mongo是一个noSQL数据存储系统。 它非常适合存储结构不良的数据,例如通过Web抓取收集的数据。目标在Docker或本地安装中创建mongo服务器的实例使用mongo shell执行基本操作: 创建一个数据库/集合插入记录...

    FineReport如何连接和使用MongoDB数据库

    随着NoSQL数据库越来越流行,MongoDB数据库作为NoSQL数据库中的领头羊,使用也越来越广泛。为此,FineReport V8.0版本提供了数据连接和数据集接口,可以通过开发一款可以连接和使用的MongoDB数据库的插件。

    Web使用挖掘中有效解释的新NoSQL框架-研究论文

    在当前的大数据时代,面向文档的数据存储在不仅仅是SQL(NoSQL)数据库中得到普及。 NoSQL数据库在速度,大小和可用性方面提供了高性能。 NoSQL数据库因其非结构化性质而占主导地位。 本文实现了一个称为Log_Mongo...

    PHP实现的mongoDB数据库操作类完整实例

    本文实例讲述了PHP实现的mongoDB数据库操作类。分享给大家供大家参考,具体如下: 最近的项目开发中使用的数据库是mongodb数据库,因为小编的公司也是刚刚使用mongodb数据库,所以之前没有封装好的mongodb数据库操作...

    PHP中安装使用mongodb数据库

    传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无规则数据的存储时,传统关系型数据库建表时对不同字段的处理也显得有些乏力,mongo应运而生,而且ajax技术的广泛应用,json格式的广泛接受,...

    .NET连接MongoDB数据库实例教程

    Mongo数据库MongoDB 是一个跨平台、文档导向的数据库系统,它被归类为“NoSQL”数据库。MongoDB避开了传统的基于表的关系数据库结构,而是使用了带动态模式的类JSON文档。MongoDB将这种格式称为BSON(二进制JSON)。...

Global site tag (gtag.js) - Google Analytics