zoukankan      html  css  js  c++  java
  • Java实体类之间的映射(一对多关系)

    通过栗子,一个人可以有多辆汽车

    定义人   这个类

    人可以有很多辆汽车,类中车属性用数组

    复制代码
    class Person{ 
        private String name;
        private String phone;
        private Car[] car; 
        public Person() {}
        public Person(String name, String phone) {
            this.name = name;
            this.phone = phone;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPhone() {
            return phone;
        }
        public void setPhone(String phone) {
            this.phone = phone;
        }
        public Car[] getCar() {
            return car;
        }
        public void setCar(Car[] car) {
            this.car = car;
        }
        public String getInfo(){
            return "姓名"+name+",电话"+phone;
        }
    }
    复制代码

    然后定义汽车  这个类

    复制代码
    class Car{ 
        private String name;
        private double price;
        private Person person;
        public Car() {}
        public Car(String name,double price) {
            this.name = name;
            this.price = price;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public double getPrice() {
            return price;
        }
        public void setPrice(double price) {
            this.price = price;
        }
        public Person getPerson() {
            return person;
        }
        public void setPerson(Person person) {
            this.person = person;
        }
        public String getInfo() {
            return "品牌:"+name+" 价格:"+price;
        }
    复制代码

    之后,在测试类中,分别实例Person类和Car类

    人这个对象只new一个

    汽车可以无限个,这里象征性实例三个

            Person p = new Person("阿三","33333333");
            Car c1 = new Car("宝马",400000);
            Car c2 = new Car("宝来",100000);
            Car c3 = new Car("宝骏",800

    对象实例化之后,设置彼此的关系,即一个人对应三台车,每台车都对应一个人

    通过set方法传值

            p.setCar(new Car[]{c1,c2,c3}); 
            c1.setPerson(p);
            c2.setPerson(p);
            c3.setPerson(p);

    测试

    通过人,查询其下的车辆信息

    System.out.println(p.getInfo()+"拥有的车辆");
    for(int i=0;i<p.getCar().length;i++) {
        System.out.println(p.getCar()[i].getInfo()); //数组类型用for循环打印
    }

    运行

    通过车,查找所属人信息

    System.out.println(c1.getInfo()+" 这辆车的所属人:"+c1.getPerson().getInfo());
    System.out.println(c2.getInfo()+" 这辆车的所属人:"+c1.getPerson().getInfo());
    System.out.println(c3.getInfo()+" 这辆车的所属人:"+c1.getPerson().getInfo());

    运行

  • 相关阅读:
    uniApp 实现微信小程序和app视频播放flv格式视频监控
    uniapp 给子组件传值不及时显示
    uni-app 中$refs 在app中无法使用
    使用甘特图
    背景图片加蒙版,里面内容不受影响
    MyBatis 多对一操作
    在Maven项目中使用lombok
    MyBatis使用分页
    Log4j打印日志
    paramiko 下载文件
  • 原文地址:https://www.cnblogs.com/mengxinrenyu/p/8350786.html
Copyright © 2011-2022 走看看