- 浏览: 398135 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (760)
- 股票日志 (26)
- Selenium (0)
- selenium 2 环境的搭建 (1)
- 并发 (7)
- 框架开发 (1)
- 动态代理 (2)
- Struts2 (2)
- POI (2)
- jdk (3)
- maven (31)
- spring (35)
- mysql (31)
- 工作机会 (3)
- xtream (1)
- oracle dbms_metadata GET_DDL (0)
- SSI (1)
- DB (61)
- powermock (4)
- java 基础 (25)
- 多线程 (11)
- 高手 (2)
- java 底层 (2)
- 专业网站 (1)
- 开发联想 (1)
- 开发联想 (1)
- bat文件 (2)
- 清queue 语句 (1)
- 清queue 语句 (1)
- jquery (7)
- html5 (1)
- Jenkins (10)
- Linux (17)
- 工作issue (2)
- tomcat log (3)
- jvm (23)
- 项目细节 (0)
- oracle (41)
- 泛型 (3)
- 新知识点 (1)
- 数据库ddl 语句 (0)
- AQ (2)
- jms (0)
- 网络资源 (6)
- github (6)
- Easymock (1)
- Dom 解析XML (1)
- windows命令 (2)
- java (7)
- 正则表达式 (5)
- sequence (1)
- oracle 表meta信息 (1)
- 小工具技巧 (1)
- 辅助工具 (1)
- Junit (1)
- 泛型 generic (2)
- Java程序设计 (1)
- cglib (2)
- 架构师之路 (1)
- 数据库连接池 (5)
- c3p0 (1)
- eclipse使用 (1)
- oracle sql plus (1)
- 码农人生 (3)
- SVN (15)
- sqlplus (2)
- jsoup (1)
- 网络爬虫 (2)
- 新技能 (1)
- zookeeper (4)
- hadoop (1)
- SVNKIT (1)
- 从工具到知识点的整理 (1)
- log4j (13)
- 读文件 (0)
- 转义字符 (1)
- command (1)
- web service (3)
- 锁 (1)
- shell 脚本 (1)
- 遇到的错误 (2)
- tomcat (14)
- 房产 (5)
- bootstrap jquery ui (1)
- easyui (2)
- 个人征信 (1)
- 读写分离 (1)
- 备份 (1)
- rmi (6)
- webservice (1)
- JMX (4)
- 内存管理 (3)
- java设计 (1)
- timer (1)
- lock (2)
- concurrent (2)
- collection (1)
- tns (1)
- java基础 (15)
- File (1)
- 本机资源 (1)
- bat (1)
- windows (4)
- 数据结构 (3)
- 代码安全 (1)
- 作用域 (1)
- 图 (2)
- jvm内存结构 (1)
- 计算机思想 (1)
- quartz (6)
- Mongo DB (2)
- Nosql (4)
- sql (5)
- 第三方Java 工具 jar 项目 (2)
- drools (1)
- java swing (2)
- 调用console (1)
- runtime (1)
- process (1)
- swing (2)
- grouplayout (1)
- dubbo (0)
- bootstrap (0)
- nodejs (2)
- SVN hooks (1)
- jdbc (3)
- jdbc error (1)
- precedure (1)
- partition_key (1)
- active mq (1)
- blob (2)
- Eclipse (6)
- web server (1)
- bootstrapt (2)
- struts (1)
- ajax (1)
- js call back (1)
- 思想境界拓展 (1)
- JIRA (1)
- log (1)
- jaxb (3)
- xml java互相转换 (1)
- 装修 (2)
- 互联网 (2)
- threadlocal (3)
- mybatis (22)
- xstream (1)
- 排序 (1)
- 股票资源 (1)
- RPC (2)
- NIO (3)
- http client (6)
- 他人博客 (1)
- 代理服务器 (1)
- 网络 (2)
- web (1)
- 股票 (5)
- deadlock (1)
- JConsole (2)
- activemq (3)
- oralce (1)
- 游标 (1)
- 12月13日道富内部培训 (0)
- grant (1)
- 速查 (2)
- classloader (4)
- netty (4)
- 设计模式 (2)
- 缓存 (2)
- ehcache (2)
- framework (1)
- 内存分析 (2)
- dump (1)
- memory (2)
- 多高线程,并发 (1)
- hbase (2)
- 分布式系统 (1)
- socket (3)
- socket (1)
- 面试问题 (1)
- jetty (2)
- http (2)
- 源码 (1)
- 日志 (2)
- jni (1)
- 编码约定 (1)
- memorycache (1)
- redis (13)
- 杂谈 (1)
- drool (1)
- blockingqueue (1)
- ScheduledExecutorService (1)
- 网页爬虫 (1)
- httpclient (4)
- httpparser (1)
- map (1)
- 单例 (1)
- synchronized (2)
- thread (1)
- job (1)
- hashcode (1)
- copyonwriteArrayList (2)
- 录制声音 (1)
- java 标准 (2)
- SSL/TLS (1)
- itext (1)
- pdf (1)
- 钻石 (2)
- sonar (1)
- unicode (1)
- 编码 (4)
- html (1)
- SecurityManager (1)
- 坑 (1)
- Restful (2)
- svn hook (1)
- concurrentHashMap (1)
- 垃圾回收 (1)
- vbs (8)
- visual svn (2)
- power shell (1)
- wmi (3)
- mof (2)
- c# (1)
- concurrency (1)
- 劳动法 (1)
- 三国志游戏 (2)
- 三国 (1)
- 洪榕 (2)
- 金融投资知识 (1)
- motan (1)
- tkmybatis mapper (1)
- 工商注册信息查询 (1)
- consul (1)
- 支付业务知识 (2)
- 数据库备份 (1)
- 字段设计 (1)
- 字段 (1)
- dba (1)
- 插件 (2)
- PropEdit插件 (1)
- web工程 (1)
- 银行业知识 (2)
- 国内托管银行 (1)
- 数据库 (1)
- 事务 (2)
- git (18)
- component-scan (1)
- 私人 (0)
- db2 (14)
- alias (1)
- 住房 (1)
- 户口 (1)
- fastjson (1)
- test (6)
- RSA (2)
- 密钥 (1)
- putty (1)
- sftp (1)
- 加密 (1)
- 公钥私钥 (3)
- markdown (1)
- sweet (1)
- sourcetree (1)
- 好工具 (1)
- cmd (1)
- scp (1)
- notepad++ (1)
- ssh免密登录 (1)
- https (1)
- ssl (2)
- js (2)
- h2 (1)
- 内存 (2)
- 浏览器 (1)
- js特效 (1)
- io (1)
- 乱码 (1)
- 小工具 (1)
- 每周技术任务 (1)
- mongodb (7)
- 内存泄漏 (1)
- 码云 (2)
- 如何搭建java 视频服务器 tomcat (1)
- 资源 (1)
- 书 (1)
- 四色建模法 (1)
- 建模 (1)
- 配置 (1)
- 职位 (1)
- nginx (1)
- excel (1)
- log4j2 (2)
- 做菜 (1)
- jmap (1)
- jspwiki (1)
- activiti (1)
- 工作流引擎 (1)
- 安卓 (1)
- acitviti 例子 (1)
- 二维码 (1)
- 工作流 (1)
- powerdesign (2)
- 软件设计 (1)
- 乐观锁 (1)
- 王者荣耀 (1)
- session (2)
- token (5)
- cookie (4)
- springboot (24)
- jwt (2)
- 项目路径 (1)
- magicbook (1)
- requestType (1)
- json (2)
- swagger (1)
- eolinker (1)
- springdata (1)
- springmvc (1)
- controlleradvice (1)
- profile (1)
- 银行四要素 (1)
- 支付人员资源 (1)
- 支付渠道 (1)
- yaml (1)
- 中文编码 (1)
- mongo (2)
- serializable (1)
- 序列化 (1)
- zyd (1)
- unittest (1)
- 工具 (1)
- Something (1)
- 通达信 (1)
- protobuf (1)
- 算法 (1)
- springcloud (2)
- hikari (1)
- rocketmq (7)
- cachecloud (1)
- serfj (1)
- axure (1)
- lombok (1)
- 分布式锁 (1)
- 线程 (2)
- 同步代码块 (1)
- cobar (1)
- mq (1)
- rabbitmq (1)
- 定时执行 (1)
- 支付系统 (3)
- 唱歌 (1)
- elasticjob (1)
- 定时任务 (1)
- 界面 (1)
- flink (2)
- 大数据 (1)
- 接私活 (0)
- 内部培训 (2)
最新评论
-
dannyhz:
做股票从短线 试水,然后 慢慢发现 波段和 中期的故事可挖, ...
搭台唱戏 -
dannyhz:
http://developer.51cto.com/art/ ...
如何自己开发框架 它的注意点是什么
引用
面向集合, 意思是数据被分组到若干集合,这些集合称作聚集(collections). 在数据库里每个聚集有一个唯一的名字,可以包含无限个文档. 聚集是RDBMS中表的同义词,区别是聚集不需要进行模式定义.
模式自由, 意思是数据库并不需要知道你将存入到聚集中的文档的任何结构信息.实际上,你可以在同一个聚集中存储不同结构的文档.
文档型, 意思是我们存储的数据是键-值对的集合,键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档. 我们把这个数据格式称作 "[BSON]"即 "Binary Serialized dOcument Notation."
面向文档存储:(类JSON数据模式简单而强大)。
高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。
复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。
Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。
动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
面向集合存储,易存储对象类型的数据:存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型;
*模式自由:存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义;
*支持完全索引,包含内部对象。
*支持复制和故障恢复。
*自动处理碎片: 自动分片功能支持水平的数据库集群,可动态添加额外的机器
查询监视:Mongo包含一个监视工具用于分析数据库操作的性能
MongoDB的功能
查询:基于查询对象或者类SQL语句搜索文档. 查询结果可以排序,进行返回大小限制,可以跳过部分结果集,也可以返回文档的一部分.
插入和更新 : 插入新文档,更新已有文档.
索引管理 : 对文档的一个或者多个键(包括子结构)创建索引,删除索引等等
常用命令: 所有MongoDB 操作都可以通过socket传输的DB命令来执行.
以下是Java测试程序,基于mongo-2.8.0.jar包作为驱动
package com.xiaomiao.test;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
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.util.JSON;
public class MongoDBTest {
public static void main(String[] args) throws UnknownHostException,MongoException{
// TODO Auto-generated method stub
try {
// default MongoDB server is localhost
String ServerIP = "192.168.2.98";
String MyUsername ="sa";
char MyPassword[] = { 's','a'};
Mongo mongo = new Mongo(ServerIP,27017);
// 连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立
DB db = mongo.getDB("my_mongodb");
boolean auth = db.authenticate(MyUsername, MyPassword);
if (!auth)
throw new MongoException("MongoDB auth failure.");
// Get collection from MongoDB, database named "yourDB"
// 从MongoDB中获得名为yourColleection的数据集合,如果该数据集合不存在,MongoDB会为其新建立
DBCollection collection = db.getCollection("yourCollection");
// 清除已经插入的documents
collection.drop();
//使用BasicDBObject对象创建一个mongodb的document,并给予赋值。
BasicDBObject document = new BasicDBObject();
document.put("id", 1001);
document.put("msg", "hello world mongoDB in Java");
//将新建立的document保存到collection中去
collection.insert(document);
//System.out.println(collection.save(document).getN());
// 创建要查询的document
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("id", 1001);
// 使用collection的find方法查找document
DBCursor cursor = collection.find(searchQuery);
//循环输出结果
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
// 插入一条复合记录的document
BasicDBObject doc = new BasicDBObject();
doc.put("name","MongoDB");
doc.put("type","Database");
doc.put("count", 1);
BasicDBObject info = new BasicDBObject();
info.put("x",203);
info.put("y",102);
doc.put("info", info);
//将新建立的document保存到collection中去
collection.insert(doc);
// loop 插入100 条documents
for(int i = 0; i < 100; i++){
collection.insert(new BasicDBObject().append("i", i));
}
//直接插入BasicDBObjectBuilder对象构造的document
insert_builder_obj(collection);
//直接插入Map对象构造的document到collection
insert_map_obj(collection);
// 直接插入JSON格式的document数据
insert_json_obj(collection);
DBCursor cur = collection.find();
while (cur.hasNext()){
System.out.println(cur.next());
}
long count = collection.getCount();
System.out.println("Total documents: " + count);
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
private static void insert_json_obj(DBCollection col){
String json = "{'database': 'mkyongDB','table': 'hosting'," +
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}";
DBObject dbObject =(DBObject)JSON.parse(json);
try {
col.insert(dbObject);
}
catch (MongoException e) {
e.printStackTrace();
}
}
private static void insert_map_obj(DBCollection col){
Map<String, Object> documentMap =new HashMap<String, Object>();
documentMap.put("database","mongoDB");
documentMap.put("table", "hosting");
Map<String, String> documentMapDetail =new HashMap<String, String>();
documentMapDetail.put("records", "100");
documentMapDetail.put("index", "vps_index1");
documentMapDetail.put("active", "true");
documentMap.put("detail", documentMapDetail);
col.insert(new BasicDBObject(documentMap));
}
private static void insert_builder_obj(DBCollection col){
BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()
.add("database","MySqlDB")
.add("table","hosting");
BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
发表评论
-
mongodb 权限设置 用户名 密码 端口
2018-08-22 15:22 369https://www.cnblogs.com/valor-x ... -
mongo 官网
2018-07-29 22:42 409https://www.mongodb.com/ -
mongodb的工具 破解
2018-07-03 15:47 1750引用 NoSQL Manager for MongoDB 破 ... -
mongo db 首页
2017-11-27 00:03 500https://www.mongodb.com/mongodb ... -
mongodb客户端
2017-10-02 13:25 435D:\Lib\dev_tool\MongoVUE 1.5.3 -
mongo db的使用
2017-10-02 13:20 414http://www.cr173.com/soft/34691 ...
相关推荐
本篇将详细介绍如何利用Java实现MongoDB数据库的增、删、改、查(CRUD)操作。 1. **连接MongoDB** 要使用Java连接MongoDB,首先需要引入MongoDB Java驱动程序的依赖。在Maven项目中,可以在pom.xml文件中添加以下...
通过以上步骤,你将能够使用Java驱动程序实现对MongoDB数据库的全面操作。在实际项目中,可以根据需求进一步封装成服务类或DAO层,以便更高效地管理数据。这个压缩包文件中的"MongoDB安装和使用java实现"应该包含了...
总结,"mongodb_java_2.6_API"是Java开发者与MongoDB 2.6版本交互的基础工具,涵盖了一系列操作MongoDB数据库的核心功能。理解并熟练掌握这些API,能帮助开发者高效地在Java应用中实现MongoDB的功能。不过,随着...
总的来说,Java连接MongoDB的关键在于理解和使用MongoDB Java驱动程序,通过它,开发者可以轻松地在Java应用中实现对MongoDB数据库的增删改查等各种操作。在实际开发中,确保正确配置JAR文件,理解连接字符串的格式...
MongoDB Java驱动是Java开发者与MongoDB数据库交互的重要工具,它允许Java应用程序通过标准的Java API来执行查询、插入、更新和删除等操作。在Java中使用MongoDB,首先需要安装并配置对应的驱动版本,以确保与正在...
该驱动程序提供了丰富的API,使得Java开发者可以直接操作MongoDB数据库。除了基本的CRUD(创建、读取、更新、删除)操作外,还可以利用高级功能,如聚合框架、地理空间查询等。 为了进一步简化开发流程,可以采用...
MongoDB Java驱动还提供了高级特性,如文件版本控制和访问权限管理。 总之,通过Java和MongoDB的GridFS,我们可以便捷地处理MP4等大文件的上传和下载。这使得MongoDB成为存储多媒体数据的理想选择,特别是在需要...
1. **MongoDB的Java驱动程序**:MongoDB 3.4.2的Java驱动程序是连接MongoDB数据库的关键组件。它允许开发者通过Java代码执行所有数据库操作,如创建、读取、更新和删除(CRUD)数据。驱动程序提供了丰富的API,可以...
本文档将深入探讨如何利用Java驱动API来操作MongoDB数据库。 一、MongoDB Java驱动API简介 MongoDB的Java驱动程序是Java应用程序与MongoDB服务器通信的桥梁。它实现了所有的MongoDB协议,并提供了一系列的类和接口...
这个驱动程序提供了与MongoDB服务器通信的API,使得我们可以通过编写Java代码来执行各种数据库操作。在"Java执行集合创建、数据查询、数据插入、数据删除操作的demo"中,你将看到如何利用这些API来实现常见的数据库...
在"Java使用MongoDB的简单程序"中,我们将学习如何使用Java驱动程序连接到MongoDB数据库。Java驱动程序提供了一套API,使得开发者可以轻松地进行数据操作。基本步骤包括:创建MongoClient实例以连接到MongoDB服务器...
以上就是Java访问MongoDB的基本步骤和文件存储的实现。注意,实际应用中可能需要处理异常、关闭资源,并根据具体需求进行更复杂的查询和操作。此外,MongoDB 3.6版本后引入了新的API,即MongoClientSession,用于...
在本文中,我们将使用java作为开发语言,并配合MongoDB数据库来存储和下载图片。java是一种广泛使用的编程语言,known for its platform independence和large community support。MongoDB是一种NoSQL数据库,known ...
然后,我们从`MongoClient`获取到`MongoDatabase`和`MongoCollection`对象,这代表了我们的数据库和集合。在这里,GridFS默认的集合名称是"fs",但也可以自定义: ```java MongoDatabase database = mongoClient....
MongoDB的Java驱动是连接Java应用程序与MongoDB数据库的关键组件,3.7.0版本是这一驱动的一个稳定发行版。这个压缩包包含了三个核心的JAR文件,它们分别是`mongodb-driver-3.7.0.jar`、`mongodb-driver-core-3.7.0....
在Java开发中,与MongoDB的交互通常通过Java驱动程序实现,它提供了对数据库的基本CURD(创建、读取、更新、删除)操作的支持。本篇文章将深入探讨MongoDB在Java环境下的CURD操作,帮助初学者更好地理解和应用。 ...
在Java环境中使用MongoDB可以极大地提升应用程序的数据处理能力和性能。 1. **下载**: - 访问官方网站[http://www.mongodb.org/downloads](http://www.mongodb.org/downloads)下载最新版本的MongoDB。 2. **...
### Java程序访问MongoDB知识点详解 #### 一、NoSQL与MongoDB简介 随着互联网技术的发展,非关系型数据库(NoSQL)因其优秀的扩展性和灵活性受到了越来越多的关注。NoSQL数据库适用于处理大规模分布式存储的应用...
总之,"mongodb_java_demo"项目是一个很好的起点,让你学习如何在Java应用中集成和操作MongoDB数据库。通过实践这些基本操作,你可以逐渐熟悉MongoDB的API,并逐步构建更复杂的应用。记得保持你的代码清晰、简洁,...