Spring & mongodb java实战mongodb 曹巍 2013年9月22日.

Slides:



Advertisements
Similar presentations
许瑞云医师 你已经很努力地注意饮食、作息、运动, 为什么身体还不能恢复健康 ? 细节 答案就在「 细节 」裡, 唯有掌握关键的一步, 养生才能达到真 正的功效 ! 现在就让我们跟着曾是全球知名的哈 佛医院主治医师的许瑞云, 学习最正确 的养生方法, 轻松打下健康满分的基础 !
Advertisements

高一七班 研究性学习小组 当我们正为寻找什么课 题而烦恼时,忽见一 精光从我面前闪过。 艾玛,原来是我同桌 眼镜反射,自此 “ 眼镜 ” 这课题被我付诸行动。 我们为此进行了研究 讨论学习 下图为组员在查阅资料.
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
第6章 数据库管理软件Access 年秋.
淘宝海量数据产品技术架构 张轩丞(朋春) 淘宝网-数据平台与产品部.
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
SQL的简单查询.
十一 ASP对数据库的访问.
第八讲 基于Hadoop的数据仓库Hive (PPT版本号:2016年4月6日版本)
第2讲 Transact-SQL语言.
协同过滤推荐算法 及其模型的设计与开发 毕业论文答辩 陈鹏 - 信息与计算科学 指导老师:王国庆 –
数据库技术 实践.
MongoDB技术交流 主讲:刘天斯.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
資料庫系統 曾俊雄.
年度校樹選拔秀 主辦單位:楊梅國小.
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
第一讲 数据查询优化.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
转正述职报告 乐恩公司 史航
Google App Engine Google 應用服務引擎.
数据库应用与程序设计.
他們,與眾不同…….
關聯式資料庫.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
第六章 學習SQL語言.
Mongodb初中级实战教程 讲师:涂宗勋 讲师的CSDN博客地址
基于Hadoop的数据仓库Hive.
Chapter 12 T-SQL 語法與 ASP.NET.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
第9讲 Hibernate查询语言HQL.
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
崑山科技大學資訊管理系 伺服網頁程式設計 系統開發細部流程 教師:游峰碩.
電子商務網站建制技術與實習(II) 助教:江宜政 吳昇洋.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
实验 2:MS Access QBE Query使用
浅谈MySql索引及锁的应用 厦门大学数据库实验室 刘颖杰 2014年3月8日.
生 物 信 息 学 Bioinformatics 巩晶 癌症研究中心 山东大学 医学院
MySQL 結構化查詢語言 MySQL.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
集合框架和泛型(一).
——网鸟老兵系列课程之10天掌握MongoDB
第20章 MySQL数据库.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
資料庫系統 李翊豪 2017/12/21 Reference
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
查询与视图 蔡海洋.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
OceanBase 0.4:从API到SQL 日照
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
第三章 世界文明的蛻變與互動 第一節 歐洲社會的蛻變 第二節 世界文明的交匯 第三節 亞洲大帝國的發展 1.
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
Lesson 4 :基礎應用一(計數器) (2005/01/27).
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
方格紙上畫正方形.
模块六 数据库管理软件——Access 2010.
資料庫應用與實作 一到六章重點、習題.
6 集合类与泛型.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

spring & mongodb java实战mongodb 曹巍 2013年9月22日

mongodb的本身形态

某个collection里面的数据示例

实际的命令 在命令行模式下键入 键入 1 use db; 2 show collections; show dbs; 在命令行模式下键入 mongo 159.226.13.220:27017

如何快速接受mongodb 和关系型 数据库对比 show dbs show collections show databases; Mysql mongodb show dbs show databases; show collections show tablses; SQL 语句

反观认识mongodb 在数据存储领域充斥着各种血腥味的战斗中,mongodb已经完全代表了nosql,nosql在当前可以说就是mongodb,mongodb就是nosql,不要问为什么,我也不知道,反正就是这个理. 为什么要用mongodb而不用传统的关系型数据库,就是因为mongodb在处理大数据的时候快,到底有多快,取决于软件配置和硬件配置,软件配置为数据索引和分片等技术,硬件配置为物理机器性能,数据库集群的整体性能等因素. ..........

在数据管理方面也是抽象为三个层次,mongodb为(数据库,集合,记录),关系型数据库为(数据库,表,记录) 和关系型数据库的异同点 在数据管理方面也是抽象为三个层次,mongodb为(数据库,集合,记录),关系型数据库为(数据库,表,记录) 在记录的存储上,两种数据库存储的记录格式不一样,mongodb没有固定的存储限制,只要是json格式都能存;但是关系型数据库则有严格的类型和长度限制 异同点 原始查询语句不同 都能存储各类型的数据

在java程序中使用,hello world! 配置 在程序中使用

数据库记录的增加 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("datasource.xml"); MongoTemplate mongoTemplate = (MongoTemplate) applicationContext.getBean("mongoTemplate"); Entity entity = new Entity(); entity.setName("caowei"); entity.setAge(26); mongoTemplate.insert(entity,"test");//单条插入 List list = new ArrayList(); Map map1 = new HashMap(); map1.put("姓名", "曹巍"); map1.put("年龄", "26周岁"); Map map2 = new HashMap(); map2.put("time","2013年9月22日10:15:59"); list.add(map1); list.add(map2); mongoTemplate.insert(list,"test");//多条插入

数据库记录的增加后的结果 > db.test.find() { "_id" : ObjectId("523e7db73d50e4c5966c3e3b"), "_class" : "cn.csdb.test.Entity", "name" : "caowei", "age" : 26 } { "_id" : ObjectId("523e7db73d50e4c5966c3e3c"), "_class" : "java.util.HashMap", "姓名" : "曹巍", "年龄" : "26周岁" } { "_id" : ObjectId("523e7db73d50e4c5966c3e3d"), "_class" : "java.util.HashMap", "time" : "2013年9月22日10:15:59" } >

数据库记录的删除 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("datasource.xml"); MongoTemplate mongoTemplate = (MongoTemplate) applicationContext.getBean("mongoTemplate"); Query query = new Query(); query.addCriteria(Criteria.where("age").is(26)); mongoTemplate.remove(query,"test"); 集合名

数据库记录删除后的结果对比

数据库记录的修改 query.addCriteria(Criteria.where("姓名").is("曹巍")); ApplicationContext applicationContext = new ClassPathXmlApplicationContext("datasource.xml"); MongoTemplate mongoTemplate = (MongoTemplate) applicationContext.getBean("mongoTemplate"); Query query = new Query(); query.addCriteria(Criteria.where("姓名").is("曹巍")); Update update = new Update(); update.set("company","cnic"); update.addToSet("email","429214435@qq.com"); mongoTemplate.updateFirst(query,update,"test"); mongoTemplate.updateMulti(query,update,"test");

数据库记录的修改结果

数据库的查询 基本查询 // where age = 26 多条件查询 //where age = 26 and name = 'caowei' 单条件多限制查询 // where age > 25 and age < 27 order by 查询 //order by age desc top(limit)查询 //limit 10,0 分页查询 //limit 1000,10 ---> 1001,1002 ..... 1010

基本查询 Select * from table_user where name = ‘caowei’ 按照spring data对mongodb查询的抽象,将基本的查询分为下面几种对象 executeMethod() mongodbTemplate可以执行的方法 Query 基本的查询条件的组合,包含了where,or,order by….. Criteria 最小的查询条件,基本单位

基本查询//where name = ‘caowei’ Select * from table_user where name = ‘caowei’ 根据上面的描述,将其查询语句转化为spring data中对应的java语句 Criteria criteria = Criteria.where("name").is("caowei"); Query query = new Query(); query.addCriteria(criteria); List list = (List) mongoTemplate.find(query, Object.class, "statistics");

基本查询//where age = 26 and name = ‘caowei’ Select * from table_user where where age = 26 and name = ‘caowei’ 根据上面的描述,将其查询语句转化为spring data中对应的java语句 Criteria criteria = Criteria.where("name").is("caowei").and("age").is(26); Query query = new Query(); query.addCriteria(criteria); List list = (List) mongoTemplate.find(query, Object.class, "statistics");

基本查询举例说明 order by age desc query.sort().on("count", Order.DESCENDING); limit 1000,10 query.skip(1000).limit(10); Select count mongoTemplate.count(new Query(Criteria.where("ACCESSION").is(acc)), "query"); ……

反观配置 <bean id="mongo" class="com.mongodb.Mongo"> <constructor-arg name="host" value=“127.0.0.1"/> <constructor-arg name="port" value="27017"/> </bean> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg ref="mongo"/> <constructor-arg name="databaseName" value="test"/>

使用(程序代码截屏)

谢谢大家!