综合实战:一对多映射(类型-子类型)

综合实战:一对多映x射(类型-子类型)



一个课程分类下有多个子课程,现在要求如下:

  • 利用简单Java类实现数据表的还原;
  • 进行如下输出
    |-可以输出一个子分类的信息,同时在输出的时候可以输出它所对应的分类信息;
    |-可以输出一个分类的信息以及所包含的所有子分类信息。
    程序的编写一定要按照正常步骤进行。
    第一步:实现基本字段
class Item{
	private int iid;
	private String title;
	private String note;
	public Item(int iid,String title,String note){
		this.iid=iid;
		this.title=title;
		this.note=note;
	}
	//setter、getter、无参略
	public String getInfo(){
		return "分类编号:"+this.iid+",名称:"+this.title+",简介:"+this.note;
	}
}
class Subitem{
	private int sid;
	private String title;
	private String note;
	public Subitem(int sid,String title,String note){
		this.sid=sid;
		this.title=title;
		this.note=note;
	}
	//setter、getter、无参略
	public String getInfo(){
		return "子分类编号:"+this.sid+",名称:"+this.title+",简介:"+this.note;
	}
}

第二步:设置关联关系

class Item{
	private int iid;
	private String title;
	private String note;
	private Subitem [] subitems;
	public Item(int iid,String title,String note){
		this.iid=iid;
		this.title=title;
		this.note=note;
	}
	//setter、getter、无参略
	public void setSubitems(Subitem [] subitems){
		this.subitems=subitems;
	}
	public Subitem [] getSubitems(){
		return this.subitems;
	}
	public String getInfo(){
		return "分类编号:"+this.iid+",名称:"+this.title+",简介:"+this.note;
	}
}
class Subitem{
	private int sid;
	private String title;
	private String note;
	private Item item;
	public Subitem(int sid,String title,String note){
		this.sid=sid;
		this.title=title;
		this.note=note;
	}
	//setter、getter、无参略
	public void setItem(Item item){
		this.item=item;
	}
	public Item getItem(){
		return this.item;
	}
	public String getInfo(){
		return "子分类编号:"+this.sid+",名称:"+this.title+",简介:"+this.note;
	}
}

第三步:设置并取得数据

  • 先根据结构设计,而后根据结构取出。
public class Hello {
	public static void main(String args[]){
		//第一步:根据结构设计关系
		//1.准备出所有独立的对象,本处属于一对多
		Item item=new Item(10,"编程语言","-");
		Subitem subA=new Subitem(1001,"Java","-");
		Subitem subB=new Subitem(1002,"Python","-");
		Subitem subC=new Subitem(1003,"C","-");
		//2.设置彼此的引用关系
		subA.setItem(item);
		subB.setItem(item);
		subC.setItem(item);
		item.setSubitems(new Subitem[]{subA,subB,subC});
		//第二步:根据表结构取出数据
		System.out.println(subA.getInfo());
		System.out.println("\t|-"+subA.getItem().getInfo());
		System.out.println("==============================================");
		System.out.println(item.getInfo());
		for(int x=0;x<item.getSubitems().length;x++){
			System.out.println("\t|-"+item.getSubitems()[x].getInfo());
		}
	}
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值