JavaEE企业级项目开发单元4-任务3-部门信息管理课件_第1页
JavaEE企业级项目开发单元4-任务3-部门信息管理课件_第2页
JavaEE企业级项目开发单元4-任务3-部门信息管理课件_第3页
JavaEE企业级项目开发单元4-任务3-部门信息管理课件_第4页
JavaEE企业级项目开发单元4-任务3-部门信息管理课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、Struts2+Hibernate+SpringJavaEE 企业级项目开发单元四 人事管理任务3 部门信息管理Struts2+Hibernate+SpringJavaEE1任务简介2任务分析3相关支撑知识4任务小结目录页第1页任务3 部门信息管理1任务简介2任务分析3相关支撑知识4任务小结目录页第1页任务过渡页第2页过渡页任务简介过渡页第2页过渡页任务简介任务3 部门信息管理任务简介本任务的目标是学习Hibernate的数据关联的配置,本任务一对一关联一对多关联多对多关联应用数据关联配置,实现部门信息管理第3页任务3 部门信息管理任务简介本任务的目标是学习Hibern过渡页第4页过渡页任务分

2、析过渡页第4页过渡页任务分析任务3 部门信息管理任务分析数据库中实体的关联关系有三种:一对一,一对多和多对多 在Hibernate在映射文件中配置关联关系,非常的灵活 Hibernate中关联关系主要在*.hbm.xml中进行配置 部门信息管理包括添加部门、删除部门第5页任务3 部门信息管理任务分析数据库中实体的关联关系有三种过渡页第6页过渡页相关支撑知识过渡页第6页过渡页相关支撑知识相关支撑知识 一对一关联指两个对象之间是一对一的关系,Hibernate中有两种映射一对一关联关系的实现方式: 共享主键是限制两个数据表的主键使用相同的值,通过主键形成一对一映射关系; 惟一外键是一个表的外键和另

3、一个表的惟一主键对应形成一对一映射关系。第7页一对一关联1一数据关联任务3 部门信息管理相关支撑知识第7页一对一关联1一任务3 部门信息管理相关支撑知识第8页一对一关联1任务3 部门信息管理一数据关联 一对一共享主键实例:一个班级对应一个班长/ 定义实体类StuClass.javapublic class StuClass implements Serializableprivate int id;private String name; /表示班级的班长 private StuLeader leader; . / 一组set/get属性方法 /定义实体类StuLeader.javapubli

4、c class StuLeader private int id;private String name;private StuClass stuClass;. / 一组set/get属性方法实体类相关支撑知识第8页一对一关联1任务3 部门信息管理一 一对相关支撑知识第9页一对一关联1任务3 部门信息管理一数据关联 一对一共享主键实例:一个班级对应一个班长StuClass.hbm.xml的配置代码如下: StuLeader.hbm.xml的配置代码如下: 实体映射文件相关支撑知识第9页一对一关联1任务3 部门信息管理一 一对相关支撑知识第10页一对一关联1任务3 部门信息管理一数据关联 一对一

5、共享主键实例:一个班级对应一个班长public class OneToOoneTest public static void main(String args) Session session=HibernateSessionFactory.getSession();Transaction transaction=session.beginTransaction();StuClass sc=(StuClass)session.get(StuClass.class, 1);StuLeader sl=(StuLeader)session.get(StuLeader.class, 1);mit();

6、System.out.println(sc.getName()+ +sl.getLeaderName();测试类相关支撑知识第10页一对一关联1任务3 部门信息管理一 一相关支撑知识一对多关系很常见,例如班级与学生、部门与员工等的关系就是常见的一对多关系一对多关联映射主要使用及来实现映射配置第11页一对多关联2一数据关联任务3 部门信息管理相关支撑知识一对多关系很常见,例如班级与学生、部门与员工等的相关支撑知识第12页一对多关联2任务3 部门信息管理一数据关联 一对多实例:一个班级对应多个学生/定义实体类StuClass.javapublic class StuClass implements

7、 Serializableprivate int id;private String name;private int num; /一个班级可能会有多个学生private Set students=new HashSet(); / 一组set/get属性方法/定义实体类Student.javapublic class Student private int id;private String stuId;private String stuname; /一个学生只属于一个班级private StuClass stuclass; / 一组set/get属性方法实体类相关支撑知识第12页一对多关联

8、2任务3 部门信息管理一 一相关支撑知识第13页一对多关联2任务3 部门信息管理一数据关联 一对多实例:一个班级对应多个学生StuClass.hbm.xml的代码 Student.hbm.xml的代码 实体映射文件相关支撑知识第13页一对多关联2任务3 部门信息管理一 一相关支撑知识第14页一对多关联2任务3 部门信息管理一数据关联 一对多实例:一个班级对应多个学生public class OneToManyTest public static void main(String args) Session session = HibernateSessionFactory.getSession

9、();Transaction transaction = session.beginTransaction();StuClass stuclass = new StuClass();stuclass.setName(软件121);stuclass.setNum(30);Student stu1 = new Student();stu1.setStuId(1108203311); stu1.setStuname(王五); stu1.setStuclass(stuclass); Student stu2 = new Student(); stu2.setStuId(1108203312); stu

10、2.setStuname(张红); stu2.setStuclass(stuclass); session.save(stu1); session.save(stu2); mit(); 测试类相关支撑知识第14页一对多关联2任务3 部门信息管理一 一相关支撑知识两个表的多对多关系,需要借助第三个连接表来实现,否则就会出现冗余,在查询结果中就会遇到这种情况。多对多关系在日常应用中比较普遍,如学生和课程、学生和老师、商品和分类等之间的关系。第15页多对多关联3一数据关联任务3 部门信息管理相关支撑知识两个表的多对多关系,需要借助第三个连接表来实现,相关支撑知识第16页多对多关联3任务3 部门信息管

11、理一数据关联 多对多实例:多个学生对应多个老师/定义实体类Student.javapublic class Student private int id;private String stuId;private String stuname; /一个学生只属于一个班级private StuClass stuclass ; /一个学生可能有多个老师private Set teachers=new HashSet(); / 一组set/get属性方法 /定义教师类Teacher.javapublic class Teacher private int id;private String teach

12、Id;private String teacherName; /一个老师可教授多个学生private Set students=new HashSet(); / 一组set/get属性方法实体类相关支撑知识第16页多对多关联3任务3 部门信息管理一 多相关支撑知识第17页多对多关联3任务3 部门信息管理一数据关联 多对多实例:多个学生对应多个老师Student的映射文件Student.hbm.xml . Teacher的映射文件Teacher.hbm.xml . 实体映射文件相关支撑知识第17页多对多关联3任务3 部门信息管理一 多相关支撑知识第18页多对多关联3任务3 部门信息管理一数据关联

13、 多对多实例:多个学生对应多个老师public class ManyToManyTest public static void main(String args) Session session= HibernateSessionFactory.getSession();Transaction transaction= session.beginTransaction();StuClass stuclass= (StuClass)session.get(StuClass.class, 1); System.out.println(stuclass.getName(); Student stu1=new Student(); stu1.setStuId(1308201101); stu1.setStuname(张三 );stu1.setStuclass(stuclass);Teacher teach1=new Teacher();teach1.setTeacherName(邓小志);teach1.setTeachId(J00001);Set teachs=new Ha

温馨提示

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

最新文档

评论

0/150

提交评论