19.综合实践:双向一对多映射(用户)_第1页
19.综合实践:双向一对多映射(用户)_第2页
19.综合实践:双向一对多映射(用户)_第3页
19.综合实践:双向一对多映射(用户)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、综合实例:双向一 对多映射 2、具体内容( ) 开发要求: 根据数据表的结构进行简单 Java 类的转换。 要求实现如下输出信息: |-可以根据课程取得全部参与此课程用户的信息: 用户参考课程 用户编号 VARCHAR(50) 课程编号 NUMBER 课程评价 CLOB 考试成绩 NUMBER 1 课程 课程编号 NUMBER 名称 VARCHAR2(50) 课时 NUMBER 内容简介 CLOB 用户 用户编号 VARCHAR(50) 姓名 VARCHAR2(50) |-输出课程信息; |-输出参与此课程用户的信息以及考试成绩; |-用户可以取得他自己所参加的课程信息; |-输出某一个用户信息; |-输出该用户所参加的所有课程信息以及对应的考试成绩绩 。 关系上来讲:一个用户可以参加多门课程,一门课程可以有多个用户参加,每个用 户对于每个课程都 会存在有一个成绩。此时最麻烦 的问题在于用户-课程关系表中除了关联字段之外,还包含有其它字 段,这样的表,一定要作为一个实体类出现。所以现在需要定义有三个类了。 第一步:先完成基本字段: class User private String userid; private String name; private UserCourse ucs; public User(String userid,String name) this.userid = userid; = name; public void setUcs(UserCourse ucs) this.ucs = ucs; public UserCourse getUcs() return this.ucs; public String getInfo() return “用户编号:“+this.userid+“,姓名:“+; 第二步:进行字段关联的时候都是以外键为主 为了可以进行关联,需要引入一个新的 类:要保存用户、 课程等信息的 联系。 class Course private int cid; private String title; private int num; private String note; private UserCourse ucs; public Course(int cid,String title,int num,String note) this.cid=cid; this.title=title; this.num=num; this.note=note; public void setUcs(UserCourse ucs) this.ucs =ucs; public UserCourse getUcs() return this.ucs; public String getInfo() return “课程编号:“+this.cid+“,名称:“+this.title+“,课时:“+this.num+ “,简介“+this.note; 第三步:程序测试 public class TestDemo public static void main(String args)/static 方法 /第一步:设置类与类之间的关系 /1、定义单独的类对象 User ua = new User(“zhangsan“,“张三“); User ub = new User(“lisi“,“李四“); User uc = new User(“wangwu“,“王五“); Course c1 = new Course(1,“Oracle“,50,“_“); Course c2 = new Course(2,“Java“,300,“_“); /2、设 置彼此的关系 UserCourse uca = new UserCourse(ua,c1,“暂无评价“,90.0); UserCourse ucb = new UserCourse(ua,c2,“暂无评价“,89.0); UserCourse ucc = new UserCourse(ub,c1,“暂无评价“,70.0); UserCourse ucd = new UserCourse(uc,c1,“暂无评价“,77.0); UserCourse uce = new UserCourse(uc,c2,“暂无评价“,79.0); /3、在用户中设置关系 ua.setUcs(new UserCourseuca,ucb); ub.setUcs(new UserCourseucc); uc.setUcs(new UserCourseucd,uce); c1.setUcs(new UserCourseuca,ucc,ucd); c2.setUcs(new UserCourseucb,uce); /第二步:取得数据 System.out.println(c1.getInfo();/输出一个课程信息 for(int x=0;xc1.getUcs().length;x+)/该门课程的用户信息 System.out.println(“t|-【参与用户】“+c1.getUcs()x.getCourse().getInfo()+“,考试成绩: “+c1.getUcs()x.getScore(); System.out.println(“n=n“); System.out.println(ua.getInfo(); for(int x=0;xua.getUcs().length;x+)/都是 UserCourse 对象 System.out.println(“t|-【参与课程】“+ua.getUcs()x.getCourse().getInfo()+“,考试成绩: “+ua.getUcs()x.getScore(); UserCourse uct = ua.getUcs();/取得信息 for(int x=0;xuct.length;x+)/都是 UserCourse 对 象 /取得课程信息 Course c = uctx.get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论