Bmob 数据关联详细使用

City类

public class City extends BmobObject {
    private String name;

    public String getName() {
        return name;
    }

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

}

Person类

public class Person extends BmobObject {
    private String name;
    private String address;
    private List<String> myArray;
    private int num;
    private City city;

    public City getCity() {
        return city;
    }

    public void setCity(City city) {
        this.city = city;
    }

    public void setMyArray(List<String> myArray) {
        this.myArray = myArray;
    }

    public List<String> getMyArray() {
        return myArray;
    }

    public void addArray(List<String> myArray) {
        this.myArray=myArray;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getName() {
        return name;
    }

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

    public String getAddress() {
        return address;
    }

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

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", address='" + address + '\'' +
                ", myArray=" + myArray +
                ", num=" + num +
                ", city=" + city +
                '}';
    }
}

数据关联详解之添加一对一关联

添加关联

Person person=new Person();
        person.setNum(33);
        person.setName("name33");
        City city=new City();
        city.setObjectId("VJXL888K");
        person.setCity(city);
        person.save(new SaveListener<String>() {
            @Override
            public void done(String s, BmobException e) {
                if(e==null){
                    Toast.makeText(MainActivity.this, "sucess", Toast.LENGTH_SHORT).show();
                }
            }
        });

加include可以将关联的内容全部返回过来,不加结果只会含有关联的objectId

		BmobQuery bmobQuery=new BmobQuery();
        bmobQuery.include("city");
        bmobQuery.getObject("c4feca3179", new QueryListener<Person>() {
            @Override
            public void done(Person person, BmobException e) {
                tv.setText(person.toString());
            }
        });

数据关联详解之查询一对多关联

BmobQuery<Person> bmobQuery=new BmobQuery<>();
        bmobQuery.include("city");
        City city=new City();
        city.setObjectId("kpDB1113");
        bmobQuery.addWhereEqualTo("city",city);
        bmobQuery.findObjects(new FindListener<Person>() {
            @Override
            public void done(List<Person> list, BmobException e) {
                if(e==null){
                    tv.setText(list.toString());
                }
            }
        });

数据关联详解之添加多对多关联

        City city=new City("kpDB1113");
        BmobRelation bmobRelation=new BmobRelation();
        bmobRelation.add(new Person("de0e654bfb"));
        bmobRelation.add(new Person("c90fdc2075"));
        city.setBmobRelation(bmobRelation);
        city.update(new UpdateListener() {
            @Override
            public void done(BmobException e) {
                if(e==null){
                    Toast.makeText(MainActivity.this, "sucess", Toast.LENGTH_SHORT).show();
                }
            }
        });

数据关联详解之查询多对多关联

BmobQuery<Person> query=new BmobQuery<>();
        City city=new City("kpDB1113");
        query.addWhereRelatedTo("bmobRelation",new BmobPointer(city));
        query.findObjects(new FindListener<Person>() {
            @Override
            public void done(List<Person> list, BmobException e) {
                if(e==null){
                    tv.setText("sucess");
                }else{
                    tv.setText("fail");
                }
            }
        });

数据关联详解之内部查询

        BmobQuery<Person> bmobQuery=new BmobQuery<>();
        BmobQuery inner=new BmobQuery();
        inner.addWhereEqualTo("cityName","北京");
        bmobQuery.addWhereMatchesQuery("city","City",inner);
        bmobQuery.findObjects(new FindListener<Person>() {
            @Override
            public void done(List<Person> list, BmobException e) {
                if(e==null){
                    tv.setText(list.toString());
                }else{
                    tv.setText("fail");
                }
            }
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值