使用 Morphia 和 MongoDB 实现持久化
直接来一个简单的demo:
新建一个maven java project(maven-archetype-quickstart):
DBHelper:
package com.mongo.dao;import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import org.mongodb.morphia.Datastore;
import org.mongodb.morphia.Morphia;/*** Created by hejy on 2016/3/18.*/
public class DBHelper {public Datastore ds;public DBHelper(){//初始化数据init();}public void init(){try{Mongo mongo = new Mongo("localhost");MongoClient mongoClient=new MongoClient("localhost");ds = new Morphia().createDatastore(mongoClient, "mydb");}catch(Exception e){e.printStackTrace();}}}
测试类:
package com.mongo;import com.mongo.dao.DBHelper;
import com.mongo.model.Entry;
import org.mongodb.morphia.Datastore;
import org.mongodb.morphia.query.Query;
import org.mongodb.morphia.query.UpdateOperations;import java.util.List;/*** Unit test for simple App.*/
public class MongoDBTest
{private static DBHelper dbHelper=new DBHelper();private static Entry en=new Entry();private static Datastore db=dbHelper.ds;public static void queryAll(){Query<Entry> query=db.createQuery(Entry.class);List<Entry> list=query.asList();for(Entry entry:list){System.out.println(entry);System.out.println(entry.getId());}}public static void add(){int num=(int)System.currentTimeMillis();for(int i=0;i<10;i++){Entry en=new Entry();en.setId(num++);en.setName("hjy");db.save(en);}}public static void update(){//将name==hjy的修改为name=11111
// Query<Entry> query =
// db.createQuery(Entry.class).field("name").equal("hjy");
// UpdateOperations<Entry> uo =
// db.createUpdateOperations(Entry.class).set("name",
// "11111");
// db.update(query, uo);
// System.out.println("OK");//将id为-1991880012的文档修改为name=hejingyuanQuery<Entry> query =db.createQuery(Entry.class).field("id").equal(-1991880012);UpdateOperations<Entry> uo =db.createUpdateOperations(Entry.class).set("name","hejingyuan");db.update(query, uo);System.out.println("OK");}public static void main(String args[]){
// add();queryAll();update();}
}
执行结果:
说明:
在操作之前我们不需要给mongodb建立数据库,当我们往数据库中存入数据时,数据库会自动创建。
使用 Morphia 和 MongoDB 实现持久化相关推荐
- Morphia和MongoDB:不断发展的文档结构
在上一篇有关Morphia的文章中 ,我介绍了一些典型用法,并提到了一些已知问题的警告和解决方法. 我展示了使用Morphia多么容易,以及它与Java世界的交互方式. 为了跟进该帖子,我将讨论如何处 ...
- NoSQL 之 Morphia 操作 MongoDB
上两篇文章:http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html http://www.cnblogs.com/hoojo/arch ...
- Morphia - mongodb之ORM框架
一.简介 二.注解 1.@Entity 2.@Id 3.@Indexed 4.@Embedded 5.@Transient和@Property 6.@Reference 三.示例 四.参考资料 Mor ...
- MongoDB+java+spirng+morphia
MongoDB+java+spirng+morphia Hotle.java packagetest_yu.morphiaSpring;importcom.google.code.morphia.an ...
- morphia_Morphia和MongoDB:不断发展的文档结构
morphia 在我先前关于Morphia的帖子中 ,我介绍了一些典型用法,并提到了一些已知问题的警告和解决方法. 我展示了使用Morphia的工作有多么容易,以及它与Java世界的交互方式有多么干净 ...
- 30分钟内使用MongoDB
最近,我被NoSQL错误咬住了-或是我的同事Mark Atwell提出的"燃烧在哪里!" 运动. 尽管我无意于在不久的将来或可预见的将来回避友好的" SELECT ... ...
- python3爬虫实战姚良_Python3.X 爬虫实战(缓存与持久化)
[工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 不知不觉关于 Python 3.X 爬虫系列已经介绍了如下系列: ...
- NoSQL数据库之MongoDB
一.NoSQL数据库背景 传统关系型数据库遇到的问题 2008 年左右,网站 . 论坛.社交网络开始高速发展,传统的关系型数据库在存储及处理数据的时候受到了很大的挑战 ,其中主要体现在以下几点: 难以 ...
- 七(7)探花功能-MongoDB地理位置查询-附近的人
课程总结 1.探花功能 业务需求 执行过程 2.MongoDB的地理位置查询 地理位置查询的应用场景 查询案例 3.搜附近 上报地理位置 使用MongoDB搜索附近 一. 探花左划右滑 探花功能是将推 ...
最新文章
- appium的demo编程
- 200m的共享虚拟主机够用吗
- Android实现点击事件的4种方式
- python udp 传输文件_python网络编程:UDP方式传输数据
- Ubuntu系统下桌面卡死,但是鼠标键盘可以动
- 技术实践 | 网易云信视频转码提速之分片转码
- Windows更新补丁下载、批量安装的几种方法
- row number函数 oracle,oracle函数 ROW_NUMBER()
- HTML+CSS+JS实现 ❤️3D网状球体动画特效❤️
- python 变量赋值是引用和拷贝_Python 中变量赋值传递时的引用和拷贝
- python教程输入_输入/输出
- CentOS FireFox Flash Player
- Vite理论知识笔记一
- windows下使用labelImg标注图像
- 安装前端插件 FeHelper
- 如何利用信息差赚钱?分享二个案例给你!
- Altium Designer设计PCB总结(干货)
- gitlab 不能启动 runsv not running
- 计算机组装方案背景图,白色系主机的另外一种搭配:联力O11MINI装机作业参考...
- 洛谷题单难题总结——数组
热门文章
- 第14周 预习实验与作业:Java数据库编程
- Problem : 狼和羊
- #STC8A8K# #STC8F1K# #STC8G1K# #STC8H1K# ——STC8系列单片机整体评价
- 2012年百度实习生招聘——java开发
- 数字信息-数字编码挂钩法
- 77-组合(Combinations)
- 买《Python从小白到大牛》专题视频课程,送配套纸质图书
- Logstash:如何使用 Logstash Grok 过滤器提取模式
- 教师网络计算机研修培训总结,研修心得教师_教师网络研修总结
- 使用nodejs Crawler模块 爬取页面dom数据,图片和视频等详解