综合实战_数据表转换(省份-城市)

1367514-0e82cfb3ee0613fd.PNG
省份--城市

1、要求可以通过一个城市找找到它所对应的省份信息;
2、可以通过一个省份找到所有城市的信息
第一步:先写基本字段

class Province {
    private int pid;
    private String pname;
    //setter, getter 和 无参构造省略
    public Province(int pid , String pname) {
        this.pid = pid;
        this.pname = pname;
    }
    public void getInfo() {
        return "省份编号:" + this.pid + ", 省份名称:" + this.pname;
    }
}

class City {
    private int cid;
    private String cname;
    //setter, getter 和 无参构造省略
    public City(int cid , String cname) {
        this.cid = cid;
        this.cname = cname;
    }
    public void getInfo() {
        return "城市编号:" + this.cid + ", 城市名称:" + this.cname;
    }
}

第二步:设置关键字段(引用)

class Province {
    private int pid;
    private String pname;
    private City[] cities;
    //setter, getter 和 无参构造省略
    public Province(int pid , String pname) {
        this.pid = pid;
        this.pname = pname;
    }
    public void setCity(City[] cities){
        this.cities = cities;
    }
    public City[] getCity() {
        return this.cities;
    }
    public void getInfo() {
        return "省份编号:" + this.pid + ", 省份名称:" + this.pname;
    }
}

class City {
    private int cid;
    private String cname;
    private Province province;
    //setter, getter 和 无参构造省略
    public City(int cid , String cname) {
        this.cid = cid;
        this.cname = cname;
    }
    public void setProvince(Province province) {
        this.province = province;
    }
    public Province getProvince() {
        return this.province;
    }
    public void getInfo() {
        return "城市编号:" + this.cid + ", 城市名称:" + this.cname;
    }
}

第三步:代码数据测试

public class Province_City {
    public static void main(String[] args) {
        //第一步:设置数据
        //1. 先准备好各自独立的对象
        Province p = new Province(1 , "江苏");
        City c1 = new City(2001 , "南京");
        City c2 = new City(2002 , "南通");
        City c3 = new City(2003 , "无锡");
        //2. 设置关系
        c1.setProvince(p);  //一个城市属于一个省份
        c2.setProvince(p);
        c3.setProvince(p);
        p.setCities(new City[]{c1 , c2 , c3});  //一个省份有多个城市
        //第二步:取出数据
        System.out.println(c1.getProvince().getInfo());
        for (int x=0; x < p.getCities().length ; x++) {
            System.out.println("\t|- " + p.getCities()[x].getInfo());
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建province表,代表省份表,有如下字段 province_id int类型、主键、自增 -- 省份id province_name varchar类型(30长度) -- 省份名称 province_position varchar类型(30长度) -- 省份位置 在省份表中加入如下数据 1 辽宁省 东北 2 福建省 东南 3 云南省 西南 创建city表,代表城市表,有如下字段 city_id int类型、主键、自增 -- 城市id city_name varchar类型(30长度) -- 城市名称 city_people int类型 -- 城市人口(单位:万) city_province_id int类型 -- 城市对应省份id 在城市表中加入如下数据 1 大连市 600 1 2 沈阳市 800 1 3 鞍山市 400 1 4 厦门市 888 2 5 福州市 300 2 6 昆明市 555 3 7 大理市 233 3 新建entity包,创建指定实体类,按照需求完成实体类之间的映射关系,加入对应成员变量 新建mapper包,创建ProvinceMapper接口,接口中如下抽象方法 selectProvinceAndCity //方法用于查询所有的省份和对应城市信息 selectProvinceAndCityByPosition //方法用于查询指定位置的省份和对应的城市信息 在mapper包中建立CityMapper接口,接口中如下抽象方法 selectCityAndProvince //方法用于查询所有城市和对应省份信息 selectCityAndProvinceByName //方法用于根据城市名称模糊查询城市和对应省份信息 selectCityAndProvinceByPeople //方法用于查询指定范围内的人口对应城市和对应省份信息 上述查询可做成动态SQL 新建测试类,测试以上五个查询功能!
最新发布
06-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值