一对多映射(省份--城市)

来源:互联网 发布:会计报表软件 编辑:程序博客网 时间:2024/05/23 12:03
题目一:一对多
省份:
    省份ID
    名称
城市:
    城市ID
    省份ID
    名称
1、要求可以通过一个城市找到它所对应的省份信息;
2、可以通过一个省份找到所有城市的信息。
class Province{
    private int pid;
    private String name;
    private City citys [] ;
    public void setCity(City citys[]){
        tthis.citys = citys;
    }
    public City[] getCity(){
        return this.citys;
    }
    //setter、getter、无参构造略
    public Province(int pid,String name){
        this.pid = pid ;
        this.name = name ;
    }
    public String getInfo(){
        return "省份编号:" + this.pid + ",省份名称:" + this.name;
    }
}

class City{
    private int cid ;
    private String name ;
    private Province province;
    //setter、getter、无参构造略

    public void setProvince(Province province){
        this.procvince = province;
    }
    public Province getProvince(){
        return this.province;
    }
    public City(int cid,String name){
        this.cid = cid ;
        this.name = name ;
    }
    public String getInfo(){
        return "城市编号:" + this.cid + ",城市名称:" + this.name;
    }
}

public class TestDemo(){
    public static void main(String args[]){
        //第一步:设置关系数据
        //先准备好各自独立的对象;
        Province pro = new Province(1,"河北省");
        City c1 = new City(1001,"唐山");
        City c1 = new City(1002,"秦皇岛");
        City c1 = new City(1003,"石家庄");
        //设置关系
        c1.setProvince(pro);
        c2.setProvince(pro);
        c3.setProvince(pro);
        pro.setCitys(new City[]{c1,c2,c3});
        //第二步:取出数据
        System.out.println(c2.getProvince().getInfo());
        for(int x = 0; x< pro.getCitys.length();x++){
            System.out.println(pro.getCitys[x].getInfo);
        }     
    }
}
第一步:列出所需字段
class Province{
    private int pid;
    private String name;
    //setter、getter、无参构造略
    public Province(int pid,String name){
        this.pid = pid ;
        this.name = name ;
    }
    public String getInfo(){
        return "省份编号:" + this.pid + ",省份名称:" + this.name;
    }
}

class City{
    private int cid ;
    private String name ;
    //setter、getter、无参构造略
    public City(int cid,String name){
        this.cid = cid ;
        this.name = name ;
    }
    public String getInfo(){
        return "城市编号:" + this.cid + ",城市名称:" + this.name;
    }
}
第二步:设置关联字段(引用)
 private City citys [] ;
    public void setCity(City citys[]){
        tthis.citys = citys;
    }
    public City[] getCity(){
        return this.citys;
    }

 private Province province;
    //setter、getter、无参构造略

    public void setProvince(Province province){
        this.procvince = province;
    }
    public Province getProvince(){
        return this.province;
    }
第三步:进行代码测试

public class TestDemo(){
    public static void main(String args[]){
        //第一步:设置关系数据
        //先准备好各自独立的对象;
        Province pro = new Province(1,"河北省");
        City c1 = new City(1001,"唐山");
        City c1 = new City(1002,"秦皇岛");
        City c1 = new City(1003,"石家庄");
        //设置关系
        c1.setProvince(pro);
        c2.setProvince(pro);
        c3.setProvince(pro);
        pro.setCitys(new City[]{c1,c2,c3});
        //第二步:取出数据
        System.out.println(c2.getProvince().getInfo());
        for(int x = 0; x< pro.getCitys.length();x++){
            System.out.println(pro.getCitys[x].getInfo);
        }     
    }
}

原创粉丝点击