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());
}
}
}
分享到:
相关推荐
- **入门指南**:Spring Data MongoDB提供了详细的入门教程,包括如何连接到MongoDB,定义数据模型,以及进行基本的操作。 - **示例Repository**:通过示例代码展示了如何定义和使用Repository。 - **连接MongoDB**...
MongoDB 是一个流行的开源文档型数据库,而 Java 是一种广泛使用的编程语言,它们...理解并熟练运用这些方法是开发基于 MongoDB 的 Java 应用的基础。在实际项目中,还应考虑错误处理、事务支持以及性能优化等方面。
无论是基于 Java 配置还是 XML 配置,Spring Data MongoDB 都提供了灵活的实例注册方式,开发者可以根据项目需求选择最适合的方案。 #### MongoDB 模板 MongoTemplate 是 Spring Data MongoDB 中的核心类,用于...
- **连接MongoDB**:介绍了如何使用Spring框架连接MongoDB实例,包括Java元数据和XML元数据两种方式。 - **MongoTemplate**:作为Spring Data MongoDB的核心类,提供了丰富的操作MongoDB的方法。 - **文档操作**:...
它提供了基于注解的实体类和Repository接口,使得CRUD操作变得简单易行。例如,通过`@Entity`注解定义实体,`@Repository`注解创建Repository接口,以及`@Query`注解自定义SQL查询。 2. **SpringData MongoDB**:...
MongoDB 入门指南 MongoDB 是一种基于分布式文件存储的 NoSQL 非关系数据库,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它具有以下几个特点: 1. 模式自由:MongoDB 的数据存储格式为 BSON(一种 JSON ...
对于那些希望了解如何使用SpringData MongoDB的开发人员来说,文档还提供了参考资料和入门指南,从如何安装和配置MongoDB到如何使用MongoTemplate以及创建自定义Repository实现等不同层次的内容都有涉及。...
- MongoDB的查询语言基于JSON,支持丰富的查询表达式,如条件运算符(`$eq`、`$gt`、`$lt`等)、数组操作符(`$in`、`$all`等)和投影(`projection`)。 - `aggregate`函数用于聚合操作,可进行数据的统计分析,...
MongoDB支持的操作语言多样,包括但不限于RUBY、PYTHON、JAVA、C++、PHP和C#等。MongoDB安装相对简单,可以通过包管理器或安装程序快速搭建运行环境。 总结: 本MongoDB开发指南为初学者提供了一个全面的入门知识...
3. Repository接口:例如`UserRepository.java`,继承自Spring Data MongoDB提供的`MongoRepository`接口,定义了对用户数据的操作方法。 4. Service层:如`UserService.java`,利用Spring的依赖注入获取Repository...
MongoDB学习总结入门篇.pdf MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。下面将对MongoDB的基本概念、特点、使用原理和基本操作进行详细介绍。 1. MongoDB基本...
java前公开源码欢迎! 这是 Lhotse,一个用于按照域驱动设计原则编写事件源 Web 应用程序的入门工具包。 它基于 , 和 。 无论您是开始一个新项目还是重构现有项目,如果您正在寻求以下项目,都应该考虑这个项目: ...
《Spring MVC + MongoDB实战教程——基于springMvcPlusMongo-master.zip》 在当今的软件开发领域,Java、MongoDB以及Spring MVC框架的组合是构建高效、可扩展应用的常见选择。本教程将通过分析名为...
Spring Boot 是一个基于 Java 的框架,可以与 MongoDB 集成使用。在 Spring Boot 中,可以使用 Spring Data MongoDB 来操作 MongoDB 数据库。 聚合 MongoDB 中的聚合操作主要是用于对数据进行批量处理和聚合操作。...
总的来说,这个范例将向你展示如何结合Spring Data和MongoDB,实现一个基于Java的Web应用,高效地处理MongoDB中的数据操作。学习这个范例,你可以掌握MongoDB的基本操作,同时理解Spring Data MongoDB如何简化这些...
贪吃蛇大作战JAVA源码GitHub 上的游戏 以下是可在 GitHub 上找到的开源游戏和游戏相关项目的列表 - 老式文字冒险、教育游戏、8 位平台游戏、基于浏览器的游戏、独立游戏、GameJam 项目、附加组件/地图/hacks/plugins...
90坦克大战java源码GitHub 上的游戏 以下是可在 GitHub 上找到的开源游戏和游戏相关项目的列表 - 老式文字冒险、教育游戏、8 位平台游戏、基于浏览器的游戏、独立游戏、GameJam 项目、附加组件/地图/hacks/plugins ...