Mongodb官方提供的Java驱动,保存与读取,需要的者是DBObject对象,这是一个接口,实现put,get等方法,跟map类似,如 果我们要直接把普通的java对象保存到mongodb,就需要先转换成DBObject对象,或者直接实现DBObject接口,操作起来相当复杂。还 好,monodb驱动带了把json转换成DBObject对象的功能,加上Google的Gson,就可以实现把普通的对象保存到mongodb中。如 果要从mogodb中读出对象,反过来操作即可,但有一点需要注意的是,mongodb的文档没有固定的字段,所以用Gson转换,可能因为各个文档属性 不同,转出的对象属性都是空的,要确保在插入时都是插入同一个类的对象。
下面的例子是把User对象插入到Mongodb中,并读出来
User.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
package com.mongo; ? public class User { String name; int age; Oid _id; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } /** * Mongodb会自动生成ObjectId * @author fhp * */ public class Oid{ String $oid; public String get$oid() { return $oid; } ? public void |