`
pluto418
  • 浏览: 169887 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

mongodb使用 java

    博客分类:
  • J2EE
阅读更多

mongodb使用
1. 下载 mongo-2.6.3.jar
2. 新建 java项目
3. 按Spring方式封装查询 直接上代码


package com.mytest;

import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

/**
 * 
 * 
 * @author lw
 * @created 2011-6-27 下午04:26:40
 * @version 1.0.0
 * @date 2011-6-27 下午04:26:40
 */

public class DBTemplate {
	private static String MONGODB_SERVER = "192.168.42.212";
	private static int SERVER_PORT = 27017;
	private static String MONGODB_DBNAME = "test";

	public final Object execute(MsgCallback action, String collection) {
		DB db = getConn();
		DBCollection dbColl = db.getCollection(collection);
		Object result = action.doExecute(dbColl);
		closeDb(db);
		closeCollection(dbColl);

		return result;
	}

	private DB getConn() {
		return getConn(MONGODB_SERVER, SERVER_PORT, MONGODB_DBNAME);
	}

	private DB getConn(String server, int port, String dbName) {
		Mongo m = null;
		try {
			m = new Mongo(server, port);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		}
		return m.getDB(dbName);
	}

	private void closeDb(DB db) {
		if (db != null) {
			db = null;
		}
	}

	private void closeCollection(DBCollection col) {
		if (col != null) {
			col = null;
		}
	}
}



package com.mytest;

import com.mongodb.DBCollection;

/**
 * 
 * 功能描述: 
 *
 * @author lw
 * @created 2011-6-28 下午01:57:44
 * @version 1.0.0
 * @date 2011-6-28 下午01:57:44
 */

public interface MsgCallback {
	Object doExecute(DBCollection dbCollection);
}



package com.mytest;

import java.util.List;
import java.util.Map;

import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;

/**
 * 
 * 功能描述:
 * 
 * @author lw
 * @created 2011-6-28 下午02:13:33
 * @version 1.0.0
 * @date 2011-6-28 下午02:13:33
 */

public interface SQLTemplate {

	int insert(String collection, BasicDBObject dbObj);

	int update(String collection, BasicDBObject oldObj, BasicDBObject newObj);

	int delete(String collection, BasicDBObject dbObj);

	Object selectOne(String collection, BasicDBObject dbObj);

	Map<String, DBObject> selectMap(String collection, BasicDBObject dbObj);

	List<DBObject> selectList(String collection, final BasicDBObject dbObj);

}

package com.mytest;

import java.util.List;
import java.util.Map;

import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;

/**
 * 
 * 功能描述:
 * 
 * @author lw
 * @created 2011-6-28 下午02:13:33
 * @version 1.0.0
 * @date 2011-6-28 下午02:13:33
 */

public interface SQLTemplate {

	int insert(String collection, BasicDBObject dbObj);

	int update(String collection, BasicDBObject oldObj, BasicDBObject newObj);

	int delete(String collection, BasicDBObject dbObj);

	Object selectOne(String collection, BasicDBObject dbObj);

	Map<String, DBObject> selectMap(String collection, BasicDBObject dbObj);

	List<DBObject> selectList(String collection, final BasicDBObject dbObj);

}

package com.mytest;

import java.util.List;
import java.util.Map;

import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;

/**
 * 
 * 功能描述:
 * 
 * @author lw
 * @created 2011-6-28 下午02:21:43
 * @version 1.0.0
 * @date 2011-6-28 下午02:21:43
 */

public class SQLDao implements SQLTemplate {
	//可改成 Spring 注入
	DBTemplate dbTemp = new DBTemplate();

	public int insert(String collection, final BasicDBObject dbObj) {
		return (Integer) dbTemp.execute(new MsgCallback() {
			public Object doExecute(DBCollection dbCollection) {
				return dbCollection.insert(dbObj).getN();
			}
		}, collection);
	}

	public int update(String collection, final BasicDBObject oldObj,
			final BasicDBObject newObj) {
		return (Integer) dbTemp.execute(new MsgCallback() {
			public Object doExecute(DBCollection dbCollection) {
				return dbCollection.update(oldObj, newObj).getN();
			}
		}, collection);
	}

	public int delete(String collection, final BasicDBObject dbObj) {
		return (Integer) dbTemp.execute(new MsgCallback() {
			public Object doExecute(DBCollection dbCollection) {
				return dbCollection.remove(dbObj).getN();
			}
		}, collection);
	}

	public Object selectOne(String collection, final BasicDBObject dbObj) {
		return dbTemp.execute(new MsgCallback() {
			public Object doExecute(DBCollection dbCollection) {
				return dbCollection.findOne(dbObj);
			}
		}, collection);
	}

	@SuppressWarnings("unchecked")
	public Map<String, DBObject> selectMap(String collection,
			final BasicDBObject dbObj) {
		return ((DBObject) selectOne(collection, dbObj)).toMap();
	}

	@SuppressWarnings("unchecked")
	public List<DBObject> selectList(String collection,
			final BasicDBObject dbObj) {
		return (List<DBObject>) dbTemp.execute(new MsgCallback() {
			public Object doExecute(DBCollection dbCollection) {
				return dbCollection.find(dbObj).toArray();
			}
		}, collection);
	}
}


package com.mytest;

import java.util.ArrayList;
import java.util.List;

import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.util.JSON;

/**
 * 
 * 功能描述:
 * 
 * @author lw
 * @created 2011-6-28 下午03:31:51
 * @version 1.0.0
 * @date 2011-6-28 下午03:31:51
 */

public class TestSQLDao extends SQLDao {

	/**
	 * 功能描述:
	 * 
	 * @param args
	 */

	public static void main(String[] args) {
		TestSQLDao test = new TestSQLDao();

		BasicDBObject obj = new BasicDBObject();
		// obj.put("id", 6);
		obj.put("name", "pluto");
		// BasicDBObject newObj = new BasicDBObject("$set", new
		// BasicDBObject("name", "gogo"));
		List<DBObject> list = new ArrayList<DBObject>();
		list = test.selectList("students", obj);

		for (DBObject db : list) {
			System.out
					.println("-----------------------------------------------------");
			System.out.println(JSON.serialize(db));
			System.out
					.println("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
			System.out.println(db.toMap());
			System.out
					.println("-----------------------------------------------------");
		}
	}

	public int insert(String collection, BasicDBObject dbObj) {
		return super.insert(collection, dbObj);
	}

	public List<DBObject> selectList(String collection, BasicDBObject dbObj) {
		return super.selectList(collection, dbObj);
	}

}

分享到:
评论
1 楼 wulixiaoxue 2011-09-05  
好东西,看看哈

相关推荐

    mongodb_java_2.6_API

    本篇将深入探讨"mongodb_java_2.6_API",即MongoDB 2.6版本的Java驱动程序API,了解如何使用Java进行MongoDB的开发。 1. **MongoDB Java驱动程序概述** MongoDB的Java驱动程序是Java开发者与MongoDB服务器通信的...

    MongoDB之Java使用例子

    在这个“MongoDB之Java使用例子”中,我们将深入探讨如何在Java环境中操作MongoDB数据库,包括增、删、改、查(CRUD)操作以及图像数据的存储和检索。 首先,Java与MongoDB的交互主要通过MongoDB的Java驱动程序实现...

    mongodb-java-driver-4.4.0.jar

    mongodb-java-driver-4.4.0.jar

    MongoDB、Java与对象关系映射

    在Java开发环境中集成MongoDB,开发者通常会使用官方提供的Java驱动程序。该驱动程序提供了丰富的API,使得Java开发者可以直接操作MongoDB数据库。除了基本的CRUD(创建、读取、更新、删除)操作外,还可以利用高级...

    MongoDB for Java Developers

    MongoDB for Java Developers Design, build, and deliver efficient Java applications using the most advanced NoSQL database

    java中mongodb使用环境详细配置

    Java 中 MongoDB 使用环境详细配置 Java 中 MongoDB 使用环境详细配置是指在 Windows 平台(WinXP)上安装、运行、安装 Windows 服务的笔记,以作备忘。下面是一些重要的知识点: 1. MongoDB 的下载和安装 ...

    MongoDBjava各版本驱动下载

    在Java中使用MongoDB,首先需要安装并配置对应的驱动版本,以确保与正在运行的MongoDB服务器兼容。 1. MongoDB驱动介绍: MongoDB提供了多种语言的驱动程序,Java驱动是其中之一。它基于Java 6及更高版本,实现了...

    Mongodb + GridFS +Java 操作Mongodb中存储的文件

    目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中找到对应的依赖,例如: ```xml &lt;groupId&gt;org.mongodb &lt;artifactId&gt;mongodb-driver-sync &lt;version&gt;4.3.0 ``` 接下来,我们需要配置MongoDB...

    mongodb_java_driver

    mongodb_java_driver 已经验证可用!

    mongodb的java驱动包

    这是一个java的mongodb的驱动包,使用它就能够与用java去连接mongodb服务器,和操作mongodb

    MongoDB 在java中的应用 纯Java操作

    - 在Java项目中使用MongoDB之前,需要添加MongoDB的Java驱动依赖。可以通过Maven或Gradle来管理依赖。 ```xml &lt;groupId&gt;org.mongodb &lt;artifactId&gt;mongodb-driver &lt;version&gt;3.4.2 ``` 2. **连接MongoDB**...

    MongoDB Java Driver 的使用:一个简单的例子,说明如何为 mongoDB 使用 Java 驱动程序。-matlab开发

    这是一个简单的例子,说明如何为 mongoDB 使用 java 驱动程序。 从http://www.mongodb.org/ : MongoDB 是一个开源文档数据库,也是领先的 NoSQL 数据库。 用 C++ 编写。 如果您没有任何工具箱来操作数据库,您有...

    java连接mongodb的jar包

    在本文中,我们将深入探讨如何使用Java连接MongoDB,涉及的知识点包括MongoDB Java驱动程序的安装、配置,以及基本的连接和操作数据库的方法。 首先,我们来看“java连接mongodb的jar包”。这个“mongodbjar”通常...

    MongoDB-Java驱动API

    在Java开发环境中,MongoDB提供了Java驱动API,使得Java程序员可以方便地与MongoDB进行交互。本文档将深入探讨如何利用Java驱动API来操作MongoDB数据库。 一、MongoDB Java驱动API简介 MongoDB的Java驱动程序是Java...

    MongoDB免安装 java Demo

    在Java环境中与MongoDB交互,我们需要使用MongoDB的Java驱动程序。这个驱动程序提供了与MongoDB服务器通信的API,使得我们可以通过编写Java代码来执行各种数据库操作。在"Java执行集合创建、数据查询、数据插入、...

    mongodb在java中小试牛刀

    在Java中使用MongoDB,我们可以借助Spring Data MongoDB框架,它提供了一种简化的方式来操作MongoDB数据库。 首先,让我们了解Spring Data MongoDB的核心概念。Spring Data MongoDB为MongoDB提供了数据访问抽象层,...

    mongodb 3.4.2 java包

    9. **性能优化**:在使用MongoDB Java驱动时,了解最佳实践非常重要。这包括选择合适的索引、优化查询性能、减少网络往返次数以及正确使用批量操作等。 10. **监控和诊断**:MongoDB提供了丰富的诊断工具,如`db....

    mongodb_java_demo

    此外,你提到的CSDN博客链接提供了更详细的教程和示例代码,可以帮助你深入了解MongoDB Java驱动程序的使用。在那里,你可能会找到关于聚合操作、索引创建、事务处理等更高级主题的讨论。 总之,"mongodb_java_demo...

    mongodb-java-driver-3.5.0.jar最新驱动包

    亲测可用,解压包含三个jar包,引用时sources和doc包根据需要添加。 mongo-java-driver-3.5.0.jar; mongo-java-driver-3.5.0-javadoc.jar; mongo-java-driver-3.5.0-sources.jar;

Global site tag (gtag.js) - Google Analytics