发布于 2016-10-06 13:47:54 | 52 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的MongoDB教程,程序狗速度看过来!

MongoDB 分布式文件存储的数据库

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。


Org

public class Org {

    @Id
    private String id;

    private String name;

    private Set<Employee> employees;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Set<Employee> getEmployees() {
        return employees;
    }

    public void setEmployees(Set<Employee> employees) {
        this.employees = employees;
    }
}

employee

public abstract class Employee {

    protected String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

leader

public class Leader extends Employee{

    private String address;

    private String title;

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}

worker

public class Worker extends Employee{

    private String mobile;

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
}

保存实例

@Test
    public void testPolymorphic() {
        Org org = new Org();
        org.setName("tech");

        Leader leader = new Leader();
        leader.setName("leader");
        leader.setAddress("fj");
        leader.setTitle("vp");

        Worker worker = new Worker();
        worker.setName("worker");
        worker.setMobile("15909898989");

        Set<Employee> employees = new HashSet<>();
        employees.add(leader);
        employees.add(worker);

        org.setEmployees(employees);
        orgDao.save(org);
    }

mongo里的数据保存了class

{
    "_id" : ObjectId("57f635e0af7b3807e8101884"),
    "_class" : "com.patterncat.demo.model.Org",
    "name" : "tech",
    "employees" : [ 
        {
            "mobile" : "15909898989",
            "name" : "worker",
            "_class" : "com.patterncat.demo.model.Worker"
        }, 
        {
            "address" : "fj",
            "title" : "vp",
            "name" : "leader",
            "_class" : "com.patterncat.demo.model.Leader"
        }
    ]
}

取数据

@Test
    public void testFind(){
        Org org = orgDao.findOne("57f635e0af7b3807e8101884");
        Set<Employee> employees = org.getEmployees();
        for(Employee emp : employees){
            if(emp instanceof Leader){
                System.out.println(emp);
            }else if(emp instanceof Worker){
                System.out.println(emp);
            }
        }
    }

docs



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务