zoukankan      html  css  js  c++  java
  • 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
    }
  • 相关阅读:
    ElasticSearch 7.6中遇到的一些坑
    kafka性能测试
    Ambari2.7.4+HDP3.1.4在centos7.6部署
    Kafka Connect HDFS
    Knn算法实现
    简单线性回归(梯度下降法) python实现
    简单线性回归(最小二乘法)python实现
    将nginx搜集到的日志通过flume转到hive
    抖音去水印,快手去水印,皮皮虾去水印操作方法(2019.6.12有效)
    kafka+spark-streaming实时推荐系统性能优化笔记
  • 原文地址:https://www.cnblogs.com/yaoyuan2/p/9841751.html
Copyright © 2011-2022 走看看