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

基于Java的Mongo入门

 
阅读更多

MongoDB可以说是最流行的分布式文件存储的数据库。今天看到发布2.0正式发布。所以看了看,先写个简单的例子。下次morphia,再完成一个较完整的范例。

1、用到的数据库:mongodb-win32-i386-2.0.0.zip、驱动:、mongo-2.6.5.jar,均可从官方站点下载下来。

2、享用首先得启动服务器:

mongod.exe --dbpath D:/mongodb 制定数据文件存放在D:/mongodb目录下

3、通过浏览器浏览数据:

http://127.0.0.1:28017/

4、范例代码:
package org.penguin.study.mongo;

import java.net.UnknownHostException;

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;

public class SimpleMain {
	public static final void main(String[] args) {
		try {
			Mongo mongo = new Mongo("localhost");
			// 如果数据库不存在,系统将自动创建
			DB db = mongo.getDB("simple");
			System.out.println(String.format("已有的数据库有:%s", mongo.getDatabaseNames()));
			// 如果集合不存在,系统将自动创建
			DBCollection dbCollection = db.getCollection("person");
			System.out.println(String.format("已有的集合有:%s", db.getCollectionNames()));
			BasicDBObject zhaojing = new BasicDBObject();
			// 主键,默认的ObjectId由4部分编码而成:当前时间、机器标识、进程号和自增的整数
			zhaojing.put("_id", "10000");
			zhaojing.put("name", "赵静");
			zhaojing.put("age", 34);
			zhaojing.put("work", "优秀的服装设计师");
			// dbCollection.insert():检查是否有字段_id,如果没有这保存,否则忽略
			// dbCollection.save():检查是否有字段_id,如果有则更新,否则插入
			dbCollection.save(zhaojing);
			// dbCollection.find():查询全部
			// dbCollection.findOne():查询一条记录
			// dbCollection.findAndModify():查询并更新
			// dbCollection.remove():删除一条记录
			
			DBCursor dbCursor = dbCollection.find();
			while (dbCursor.hasNext()) {
				// 相当于一条记录
				DBObject dbObject = (DBObject) dbCursor.next();
				System.out.println(String.format("学号:%s、姓名:%s、年龄:%d、职业:%s", dbObject.get("_id"), dbObject.get("name"),
						dbObject.get("age"), dbObject.get("work")));
			}

		} catch (UnknownHostException e) {
			System.err.println(e.getMessage());
		} catch (MongoException e) {
			System.err.println(e.getMessage());
		} catch (Exception e) {
			System.err.println("未知异常:" + e.getMessage());
		}
	}
}
 
分享到:
评论
1 楼 cyhcheng 2011-09-13  
入门指南:http://www.mongodb.org/display/DOCS/Java+Tutorial
API文档:http://api.mongodb.org/java/2.0/index.html

相关推荐

    spring-mongo整合文档

    - **入门指南**:Spring Data MongoDB提供了详细的入门教程,包括如何连接到MongoDB,定义数据模型,以及进行基本的操作。 - **示例Repository**:通过示例代码展示了如何定义和使用Repository。 - **连接MongoDB**...

    Java操作MongoDB数据库方法详解

    MongoDB 是一个流行的开源文档型数据库,而 Java 是一种广泛使用的编程语言,它们...理解并熟练运用这些方法是开发基于 MongoDB 的 Java 应用的基础。在实际项目中,还应考虑错误处理、事务支持以及性能优化等方面。

    spring-data-mongo-reference.pdf

    无论是基于 Java 配置还是 XML 配置,Spring Data MongoDB 都提供了灵活的实例注册方式,开发者可以根据项目需求选择最适合的方案。 #### MongoDB 模板 MongoTemplate 是 Spring Data MongoDB 中的核心类,用于...

    springMongodb参考文档中文版

    - **连接MongoDB**:介绍了如何使用Spring框架连接MongoDB实例,包括Java元数据和XML元数据两种方式。 - **MongoTemplate**:作为Spring Data MongoDB的核心类,提供了丰富的操作MongoDB的方法。 - **文档操作**:...

    SpringData入门到精通

    它提供了基于注解的实体类和Repository接口,使得CRUD操作变得简单易行。例如,通过`@Entity`注解定义实体,`@Repository`注解创建Repository接口,以及`@Query`注解自定义SQL查询。 2. **SpringData MongoDB**:...

    mongoDB入门列子及原理介绍.docx

    MongoDB 入门指南 MongoDB 是一种基于分布式文件存储的 NoSQL 非关系数据库,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它具有以下几个特点: 1. 模式自由:MongoDB 的数据存储格式为 BSON(一种 JSON ...

    springdata mongodb api文档

    对于那些希望了解如何使用SpringData MongoDB的开发人员来说,文档还提供了参考资料和入门指南,从如何安装和配置MongoDB到如何使用MongoTemplate以及创建自定义Repository实现等不同层次的内容都有涉及。...

    mongodb入门时候文档

    - MongoDB的查询语言基于JSON,支持丰富的查询表达式,如条件运算符(`$eq`、`$gt`、`$lt`等)、数组操作符(`$in`、`$all`等)和投影(`projection`)。 - `aggregate`函数用于聚合操作,可进行数据的统计分析,...

    mongo开发指南

    MongoDB支持的操作语言多样,包括但不限于RUBY、PYTHON、JAVA、C++、PHP和C#等。MongoDB安装相对简单,可以通过包管理器或安装程序快速搭建运行环境。 总结: 本MongoDB开发指南为初学者提供了一个全面的入门知识...

    mongodb+spring+hibernate集成入门demo

    3. Repository接口:例如`UserRepository.java`,继承自Spring Data MongoDB提供的`MongoRepository`接口,定义了对用户数据的操作方法。 4. Service层:如`UserService.java`,利用Spring的依赖注入获取Repository...

    MONGODB学习总结入门篇.pdf

    MongoDB学习总结入门篇.pdf MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。下面将对MongoDB的基本概念、特点、使用原理和基本操作进行详细介绍。 1. MongoDB基本...

    java前后端分离源码-lhotse:遵循域驱动设计原则编写事件源Web应用程序的入门工具包。基于SpringBoot、Axon和Hazelc

    java前公开源码欢迎! 这是 Lhotse,一个用于按照域驱动设计原则编写事件源 Web 应用程序的入门工具包。 它基于 , 和 。 无论您是开始一个新项目还是重构现有项目,如果您正在寻求以下项目,都应该考虑这个项目: ...

    springMvcPlusMongo-master.zip

    《Spring MVC + MongoDB实战教程——基于springMvcPlusMongo-master.zip》 在当今的软件开发领域,Java、MongoDB以及Spring MVC框架的组合是构建高效、可扩展应用的常见选择。本教程将通过分析名为...

    Mongodb入门教程、示例+Spring Boot完整示例+聚合.docx

    Spring Boot 是一个基于 Java 的框架,可以与 MongoDB 集成使用。在 Spring Boot 中,可以使用 Spring Data MongoDB 来操作 MongoDB 数据库。 聚合 MongoDB 中的聚合操作主要是用于对数据进行批量处理和聚合操作。...

    MongoDb增删改查的网站范例

    总的来说,这个范例将向你展示如何结合Spring Data和MongoDB,实现一个基于Java的Web应用,高效地处理MongoDB中的数据操作。学习这个范例,你可以掌握MongoDB的基本操作,同时理解Spring Data MongoDB如何简化这些...

    贪吃蛇大作战JAVA源码-getting-started-github-apps:入门-github-apps

    贪吃蛇大作战JAVA源码GitHub 上的游戏 以下是可在 GitHub 上找到的开源游戏和游戏相关项目的列表 - 老式文字冒险、教育游戏、8 位平台游戏、基于浏览器的游戏、独立游戏、GameJam 项目、附加组件/地图/hacks/plugins...

    90坦克大战java源码-getting-started-github-apps:入门-github-apps

    90坦克大战java源码GitHub 上的游戏 以下是可在 GitHub 上找到的开源游戏和游戏相关项目的列表 - 老式文字冒险、教育游戏、8 位平台游戏、基于浏览器的游戏、独立游戏、GameJam 项目、附加组件/地图/hacks/plugins ...

Global site tag (gtag.js) - Google Analytics