




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、struts2+hibernate+springjavaee 企业级项目开发单元四 人事管理任务3 部门信息管理1任务简介任务简介2任务分析任务分析3相关支撑知识相关支撑知识4任务小结任务小结目录页第1页任务3 部门信息管理过渡页第2页过渡页任务简介任务3 部门信息管理任务简介本任务的目标是学习hibernate的数据关联的配置,本任务p一对一关联p一对多关联p多对多关联p应用数据关联配置,实现部门信息管理第3页过渡页第4页过渡页任务分析任务3 部门信息管理任务分析p 数据库中实体的关联关系有三种:一对一,一对多和多对多p 在hibernate在映射文件中配置关联关系,非常的灵活p hiber
2、nate中关联关系主要在*.hbm.xml中进行配置p 部门信息管理包括添加部门、删除部门第5页过渡页第6页过渡页相关支撑知识相关支撑知识p 一对一关联指两个对象之间是一对一的关系,hibernate中有两种映射一对一关联关系的实现方式: 共享主键是限制两个数据表的主键使用相同的值,通过主键形成一对一映射关系; 惟一外键是一个表的外键和另一个表的惟一主键对应形成一对一映射关系。第7页一对一关联1 1一数据关联任务3 部门信息管理相关支撑知识第8页一对一关联1 1任务3 部门信息管理一数据关联 一对一共享主键实例一对一共享主键实例:一个班级对应一个班长一个班级对应一个班长/ 定义实体类stucl
3、ass.javapublic class stuclass implements serializableprivate int id;private string name; /表示班级的班长 private stuleader leader; . / 一组set/get属性方法 /定义实体类stuleader.javapublic class stuleader private int id;private string name;private stuclass stuclass;. / 一组set/get属性方法实体类实体类相关支撑知识第9页一对一关联1 1任务3 部门信息管理一数据关
4、联 一对一共享主键实例一对一共享主键实例:一个班级对应一个班长一个班级对应一个班长stuclass.hbm.xml的配置代码如下:的配置代码如下: stuleader.hbm.xml的配置代码如下:的配置代码如下: 实体映射文件实体映射文件相关支撑知识第10页一对一关联1 1任务3 部门信息管理一数据关联 一对一共享主键实例一对一共享主键实例:一个班级对应一个班长一个班级对应一个班长public class onetooonetest public static void main(string args) session session=hibernatesessionfactory.get
5、session();transaction transaction=session.begintransaction();stuclass sc=(stuclass)session.get(stuclass.class, 1);stuleader sl=(stuleader)session.get(stuleader.class, 1);mit();system.out.println(sc.getname()+ +sl.getleadername();测试类测试类相关支撑知识p 一对多关系很常见,例如班级与学生、部门与员工等的关系就是常见的一对多关系p 一对多关联映射主要使用及来实现映射配置
6、第11页一对多关联2 2一数据关联任务3 部门信息管理相关支撑知识第12页一对多关联2 2任务3 部门信息管理一数据关联 一对多实例一对多实例:一个班级对应多个学生一个班级对应多个学生/定义实体类stuclass.javapublic class stuclass implements serializableprivate int id;private string name;private int num; /一个班级可能会有多个学生private set students=new hashset(); / 一组set/get属性方法/定义实体类student.javapublic cla
7、ss student private int id;private string stuid;private string stuname; /一个学生只属于一个班级private stuclass stuclass; / 一组set/get属性方法实体类实体类相关支撑知识第13页一对多关联2 2任务3 部门信息管理一数据关联 一对多实例一对多实例:一个班级对应多个学生一个班级对应多个学生stuclass.hbm.xml的代码的代码 student.hbm.xml的代码的代码 实体映射文件实体映射文件相关支撑知识第14页一对多关联2 2任务3 部门信息管理一数据关联 一对多实例一对多实例:一个
8、班级对应多个学生一个班级对应多个学生public class onetomanytest public static void main(string args) session session = hibernatesessionfactory.getsession();transaction transaction = session.begintransaction();stuclass stuclass = new stuclass();stuclass.setname(软件121);stuclass.setnum(30);student stu1 = new student();st
9、u1.setstuid(1108203311); stu1.setstuname(王五); stu1.setstuclass(stuclass); student stu2 = new student(); stu2.setstuid(1108203312); stu2.setstuname(张红); stu2.setstuclass(stuclass); session.save(stu1); session.save(stu2); mit(); 测试类测试类相关支撑知识p 两个表的多对多关系,需要借助第三个连接表来实现,否则就会出现冗余,在查询结果中就会遇到这种情况。p 多对多关系在日常应
10、用中比较普遍,如学生和课程、学生和老师、商品和分类等之间的关系。第15页多对多关联3 3一数据关联任务3 部门信息管理相关支撑知识第16页多对多关联3 3任务3 部门信息管理一数据关联 多对多实例多对多实例:多个学生对应多个老师多个学生对应多个老师/定义实体类student.javapublic class student private int id;private string stuid;private string stuname; /一个学生只属于一个班级private stuclass stuclass ; /一个学生可能有多个老师private set teachers=new
11、hashset(); / 一组set/get属性方法 /定义教师类teacher.javapublic class teacher private int id;private string teachid;private string teachername; /一个老师可教授多个学生private set students=new hashset(); / 一组set/get属性方法实体类实体类相关支撑知识第17页多对多关联3 3任务3 部门信息管理一数据关联 多对多实例多对多实例:多个学生对应多个老师多个学生对应多个老师student的映射文件student.hbm.xml . teac
12、her的映射文件teacher.hbm.xml . 实体映射文件实体映射文件相关支撑知识第18页多对多关联3 3任务3 部门信息管理一数据关联 多对多实例多对多实例:多个学生对应多个老师多个学生对应多个老师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.sette
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年计算机二级MySQL版本差异试题及答案
- Msoffice考试最优路径试题及答案
- 适应变化的2025年文学概论试题及答案
- 2025年MySQL的高级查询技巧试题及答案
- 计算机二级Delphi作业示例及答案
- 计算机二级MySQL试题及答案的全面解析
- 计算机二级MySQL考试常见问题及试题及答案
- 财务成本管理考生经验交流及试题及答案
- MySQL聚合函数解析与试题及答案
- 2025年MySQL考试全面复习试题及答案
- 世界环境日主题班会《生物多样性保护》班会课件
- MDT多学科流程在康复治疗中的效益分析
- 智联网汽车技术 课件 13.9自动紧急制动系统
- 危废转运合同范例
- DBJT13-323-2019 土壤固化剂应用技术规程
- 手术患者管路安全管理
- 数字化转型下的对公客户业务场景解析
- 高中化学物质俗名大全
- 2024铁路车站及沿线用摄像机技术要求
- 2025年西昌市公开招聘国企业工作人员高频重点提升(共500题)附带答案详解
- 2025年快速注塑机生产线升级改造合同范本3篇
评论
0/150
提交评论