morphia(2)-添加

 

1、简单

@Test
public void add() throws Exception {
    final Employee em = new Employee("遥远2",50000.0);
    Key<Employee> key = datastore.save(em);
    Console.log("主键id={},{}",key.getId(),em.getId());
    
}

存储:

{
"_id" : ObjectId("5bced166dd00712bd429363e"),
"className" : "com.ebc.entity.Employee",
"name" : "遥远2",
"wage" : 50000
}

 


2、添加子集合

@Test
public void add2() throws Exception {
    Employee em = new Employee("zuoys",10000.0);
    
    final Employee e1 = new Employee("小弟1",2000.0);
    datastore.save(e1);
    final Employee e2 = new Employee("小弟2",3000.0);
    datastore.save(e2);
    //集合中的元素必须先保存
    List<Employee> emList = CollUtil.newArrayList(); emList.add(e1); emList.add(e2); em.setDirectReports(emList); datastore.save(em); Console.log("主键id={}",em.getId()); }

存储:

/* 1 */
{
    "_id" : ObjectId("5bcef23890c1d9280c07128e"),
    "className" : "com.ebc.entity.Employee",
    "name" : "小弟1",
    "wage" : 2000
}

/* 2 */ { "_id" : ObjectId("5bcef23890c1d9280c07128f"), "className" : "com.ebc.entity.Employee", "name" : "小弟2", "wage" : 3000 } /* 3 */ { "_id" : ObjectId("5bcef23890c1d9280c071290"), "className" : "com.ebc.entity.Employee", "name" : "zuoys", "directReports" : [ { "$ref" : "employees", "$id" : ObjectId("5bcef23890c1d9280c07128e") }, { "$ref" : "employees", "$id" : ObjectId("5bcef23890c1d9280c07128f") } ], "wage" : 10000 }

3、添加父

@Test
public void add3() throws Exception {
    Employee em = datastore.get(Employee.class, new ObjectId("5bcef23890c1d9280c071290"));
    final Employee e3 = new Employee("小弟3有父",22.0);
    e3.setManager(em);
    Key<Employee> key = datastore.save(e3);
    Console.log("主键id={}",key.getId()); }

存储:

/* 4 */
{
    "_id" : ObjectId("5bcef45d90c1d91d509941cd"),
    "className" : "com.ebc.entity.Employee",
    "name" : "小弟3有父",
    "manager" : {
        "$ref" : "employees", "$id" : ObjectId("5bcef23890c1d9280c071290") }, "wage" : 22 }

 

转载于:https://www.cnblogs.com/yaoyuan2/p/9841751.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值