设为首页 加入收藏

TOP

NoSQL 之 Morphia 操作 MongoDB (五)
2014-11-24 07:39:20 来源: 作者: 【 】 浏览:10
Tags:NoSQL Morphia 操作 MongoDB
com.hoo.entity;

import com.google.code.morphia.annotations.Entity;
import com.google.code.morphia.annotations.Id;

/**
* function: JavaEntity对象
* @author hoojo
* @createDate 2011-5-31上午11:45:21
* @file User.java
* @package com.hoo.entity
* @project Morphia
* @blog http://blog.csdn.net/IBM_hoojo
* @email hoojo_@126.com
* @version 1.0
*/
//利用morphia的annotation进行注解
@Entity
public class User {
@Id
private long id;

private String name;
private boolean sex;
private int age;
private String address;

public User() {
}
public User(long id, String name, boolean sex, int age, String address) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.address = address;
}
//getter、setter

@Override
public String toString() {
return this.id + "#" + this.name + "#" + this.age + "#" + this.sex + "#" + this.address;
}
}

2、 对Morphia对象一些简单的使用,看看该对象提供了哪些基本的操作方法

package com.hoo.test.morphia;

import java.net.UnknownHostException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.google.code.morphia.Datastore;
import com.google.code.morphia.EntityInterceptor;
import com.google.code.morphia.Morphia;
import com.google.code.morphia.mapping.MappedClass;
import com.google.code.morphia.mapping.Mapper;
import com.google.code.morphia.mapping.cache.EntityCache;
import com.hoo.entity.User;
import com.mongodb.BasicDBObjectBuilder;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

/**
* function: morphia对象的简单测试
* @author hoojo
* @createDate 2011-5-31上午11:30:20
* @file MorphiaTest.java
* @package com.hoo.test
* @project Morphia
* @blog http://blog.csdn.net/IBM_hoojo
* @email hoojo_@126.com
* @version 1.0
*/
public class MorphiaTest {
private Mongo mongo;
private Morphia morphia;

@Before
public void init() {
try {
mongo = new Mongo();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
morphia = new Morphia();
}

private void print(Object o) {
if (o != null) {
System.out.println(o.toString());
}
}

/**
* function: morphia对象的简单测试
* @author hoojo
*/
@SuppressWarnings("deprecation")
@Test
public void testMorphia() {
// 创建一个Datastore,过时的方法不推荐使用
Datastore ds = morphia.createDatastore("myTestDB");
print("createDatastore: " + ds);
// 创建ds
ds = morphia.createDatastore(mongo, "myTestDB");
print("createDatastore: " + ds);
// 创建一个带用户名、密码的ds
//ds = morphia.createDatastore(mongo, "myTestDB", "admin", new char[] { '1', '2', '3', '4', '5', '6' });

// 设置操作资源对象,这里设置User.class 就可以完成对User的一系列操作
//morphia.map(User.class);
//morphia.mapPackage("com.hoo.entity");//会把整个包下面的类都加载进来
// 将对象转成DBObject
print("toDBObject: " + morphia.toDBObject(new User(System.currentTimeMillis(), "jackson", true, 22, null)));
// 将参数2转换成参数1的类型
print("fromDBObject: " + morphia.fromDBObject(User.class, BasicDBObjectBu
首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇NOSQL们背后的共有原则 下一篇NoSQL的特点

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·HyperText Transfer (2025-12-26 07:20:48)
·半小时搞懂 HTTP、HT (2025-12-26 07:20:42)
·CPython是什么?PyPy (2025-12-26 06:50:09)
·Python|如何安装seab (2025-12-26 06:50:06)
·python要学习数据分 (2025-12-26 06:50:03)