直接来一个简单的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 实现持久化相关推荐

  1. Morphia和MongoDB:不断发展的文档结构

    在上一篇有关Morphia的文章中 ,我介绍了一些典型用法,并提到了一些已知问题的警告和解决方法. 我展示了使用Morphia多么容易,以及它与Java世界的交互方式. 为了跟进该帖子,我将讨论如何处 ...

  2. NoSQL 之 Morphia 操作 MongoDB

    上两篇文章:http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html http://www.cnblogs.com/hoojo/arch ...

  3. Morphia - mongodb之ORM框架

    一.简介 二.注解 1.@Entity 2.@Id 3.@Indexed 4.@Embedded 5.@Transient和@Property 6.@Reference 三.示例 四.参考资料 Mor ...

  4. MongoDB+java+spirng+morphia

    MongoDB+java+spirng+morphia Hotle.java packagetest_yu.morphiaSpring;importcom.google.code.morphia.an ...

  5. morphia_Morphia和MongoDB:不断发展的文档结构

    morphia 在我先前关于Morphia的帖子中 ,我介绍了一些典型用法,并提到了一些已知问题的警告和解决方法. 我展示了使用Morphia的工作有多么容易,以及它与Java世界的交互方式有多么干净 ...

  6. 30分钟内使用MongoDB

    最近,我被NoSQL错误咬住了-或是我的同事Mark Atwell提出的"燃烧在哪里!" 运动. 尽管我无意于在不久的将来或可预见的将来回避友好的" SELECT ... ...

  7. python3爬虫实战姚良_Python3.X 爬虫实战(缓存与持久化)

    [工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 不知不觉关于 Python 3.X 爬虫系列已经介绍了如下系列: ...

  8. NoSQL数据库之MongoDB

    一.NoSQL数据库背景 传统关系型数据库遇到的问题 2008 年左右,网站 . 论坛.社交网络开始高速发展,传统的关系型数据库在存储及处理数据的时候受到了很大的挑战 ,其中主要体现在以下几点: 难以 ...

  9. 七(7)探花功能-MongoDB地理位置查询-附近的人

    课程总结 1.探花功能 业务需求 执行过程 2.MongoDB的地理位置查询 地理位置查询的应用场景 查询案例 3.搜附近 上报地理位置 使用MongoDB搜索附近 一. 探花左划右滑 探花功能是将推 ...

最新文章

  1. appium的demo编程
  2. 200m的共享虚拟主机够用吗
  3. Android实现点击事件的4种方式
  4. python udp 传输文件_python网络编程:UDP方式传输数据
  5. Ubuntu系统下桌面卡死,但是鼠标键盘可以动
  6. 技术实践 | 网易云信视频转码提速之分片转码
  7. Windows更新补丁下载、批量安装的几种方法
  8. row number函数 oracle,oracle函数 ROW_NUMBER()
  9. HTML+CSS+JS实现 ❤️3D网状球体动画特效❤️
  10. python 变量赋值是引用和拷贝_Python 中变量赋值传递时的引用和拷贝
  11. python教程输入_输入/输出
  12. CentOS FireFox Flash Player
  13. Vite理论知识笔记一
  14. windows下使用labelImg标注图像
  15. 安装前端插件 FeHelper
  16. 如何利用信息差赚钱?分享二个案例给你!
  17. Altium Designer设计PCB总结(干货)
  18. gitlab 不能启动 runsv not running
  19. 计算机组装方案背景图,白色系主机的另外一种搭配:联力O11MINI装机作业参考...
  20. 洛谷题单难题总结——数组

热门文章

  1. 第14周 预习实验与作业:Java数据库编程
  2. Problem : 狼和羊
  3. #STC8A8K# #STC8F1K# #STC8G1K# #STC8H1K# ——STC8系列单片机整体评价
  4. 2012年百度实习生招聘——java开发
  5. 数字信息-数字编码挂钩法
  6. 77-组合(Combinations)
  7. 买《Python从小白到大牛》专题视频课程,送配套纸质图书
  8. Logstash:如何使用 Logstash Grok 过滤器提取模式
  9. 教师网络计算机研修培训总结,研修心得教师_教师网络研修总结
  10. 使用nodejs Crawler模块 爬取页面dom数据,图片和视频等详解