




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,一对一单向.典型场合:一个人对应一个地址,我们一般只要求给定一个人知道他的地址,却不需要给定一个地址确定一个人的(1) 创建表DROP TABLE IF EXISTS test.person;CREATE TABLE test.person ( ID int(10) unsigned NOT NULL auto_increment, Name varchar(45) NOT NULL, AddressID int(10) unsigned NOT NULL, PRIMARY KEY (ID), KEY FK_person_1 (AddressID),) DROP TABLE IF EXISTS test.address;CREATE TABLE test.address ( ID int(10) unsigned NOT NULL auto_increment, city varchar(45) NOT NULL, street varchar(45) default NULL, PRIMARY KEY (ID) (2) 创建hmb.xml文件 (3) 生成POJO类(4)编写测试程序public static void main(String args) Configuration config = new Configuration().configure();SessionFactory sessionFactory = config.buildSessionFactory(); Person p1=new Person(); p1.setAge(21); p1.setName(zhangsan); Address add1=new Address(); add1.setCity(hangzhou); p1.setAddress(add1); Session session= sessionFactory.openSession(); Transaction tx=session.beginTransaction(); session.save(add1); session.save(p1); mit(); session.close(); 2,一对一双向典型场合:一个人对应一个身份证号,我们可以根据一个人得到它的身份证号码,也可以根据身份证号码确定一个人(1)建立表CREATE TABLE test.person ( ID int(10) unsigned NOT NULL auto_increment, Name varchar(45) NOT NULL, CardID int(10) unsigned NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.idcard ( ID int(10) unsigned NOT NULL auto_increment, memo varchar(45), personid int(10) NOT NULL, PRIMARY KEY (ID) (4) 创建hmb.xml文件 (5) 生成POJO类(4)编写测试程序 p1.setName(zhangsan); p1.setIdCard(card1); card1.setPerson(p1); session.save(p1); 3,一对多单向典型场合:一个人对应很多他的电话, 我们一般只要求给定一个人得到他的所有电话,却不会用一个电话去反查一个人,因为电话是很容易改变的(1)建立表CREATE TABLE test.person ( ID int(10) unsigned NOT NULL auto_increment, Name varchar(45) NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.phone ( ID int(10) unsigned NOT NULL auto_increment, number varchar(45) NOT NULL, personid int(10), PRIMARY KEY (ID) (6) 创建hmb.xml文件 (7) 生成POJO类(4)编写测试程序 Person p1=new Person();p1.setName(zhangsan);Set phones = new HashSet(); Phone phone1=new Phone(); phone1.setNumber(12323); Phone phone2=new Phone(); phone2.setNumber(12323); phones.add(phone1); phones.add(phone2); p1.setPhones(phones); session.save(phone1); session.save(phone2); session.save(p1);4,一对多双向典型场合:旅行和预订,一次旅程有多个预订,我们可以根据某次旅程查到这次旅行所对应的预订,也可以根据一次预订查到它所属的那次旅程一对多双向关联映射的方法: * 在“一”一端的集合中使用标签,在对方表中加入一个外键指向“一”一端 * 在“多的一端采用 (1)建立表CREATE TABLE test.person ( ID int(10) unsigned NOT NULL auto_increment, Name varchar(45) NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.flight ( ID int(10) unsigned NOT NULL auto_increment, num varchar(45) NOT NULL, personid int(10), PRIMARY KEY (ID) (8) 创建hmb.xml文件 (9) 生成POJO类(4)编写测试程序 Person p1=new Person();p1.setName(zhangsan);Set flights = new HashSet(); Flight f1= new Flight(); f1.setNum(h222); f1.setPerson(p1); Flight f2=new Flight(); f2.setNum(h333); f2.setPerson(p1); flights.add(f1); flights.add(f2); p1.setFlights(flights); session.save(p1);5,多对一单向典型场合:人民和国家,我们只需要知道我们人民是属于哪个国家的,而国家不可能确实地知道它有多少个人民.(1)建立表CREATE TABLE test.person ( ID int(10) unsigned NOT NULL auto_increment, Name varchar(45) NOT NULL, CountryID int(10) NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.country ( ID int(10) unsigned NOT NULL auto_increment, name varchar(45) NOT NULL, PRIMARY KEY (ID) (10) 创建hmb.xml文件 (11) 生成POJO类(4)编写测试程序 Person p1=new Person(); Country c=new Country(); c.setName(china); p1.setName(zhangsan); p1.setCountry(c); Person p2=new Person(); p2.setName(lisi); p2.setCountry(c); session.save(c); session.save(p1);6,多对多单向典型场合:预定和舱位,你可以多次预定一个舱位,也可一定预定多个舱位.一般都是根据某次预定来知道预定了哪些舱位(1)建立表CREATE TABLE test.person ( ID int(10) unsigned NOT NULL auto_increment, Name varchar(45) NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.flght ( ID int(10) unsigned NOT NULL auto_increment, name varchar(45) NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.person_flight ( personID int(10) NOT NULL , flightid int(10) NOT NULL, PRIMARY KEY (personID,flightID) (12) 创建hmb.xml文件 (13) 生成POJO类(4)编写测试程序 Person p1=new Person(); Person p2=new Person(); Set flights = new HashSet(); Flight f1 = new Flight(2222); Flight f2 = new Flight(2222); flights.add(f1); flights.add(f2); p1.setName(wanger); p2.setName(lius); p1.setFlights(flights); p2.getFlights().add(f2); session.save(f1); session.save(f2); session.save(p1); session.save(p2);7,多对多双向典型场合:老师和学生,老师可以有很多学生,学生也可以有很多老师,可以根据学生查出他所有的老师,也可以根据老师查出他所有的学生(1)建立表CREATE TABLE test.teacher ( ID int(10) unsigned NOT NULL auto_increment, Name varchar(45) NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.student ( ID int(10) unsigned NOT NULL auto_increment, name varchar(45) NOT NULL, PRIMARY KEY (ID) CREATE TABLE test.teacher_student ( teacherid int(10) NOT NULL , studentid int(10) NOT NULL, PRIMARY KEY (teacherid,studentid) (14) 创建hmb.xml文件 (15) 生成POJO类(4)编写测试程序 Teacher t1 = new Teacher(); t1.setName(li1); Teacher t2 = new Teacher(); t2.setName(li2); Student s1 = new Student(); s1.setName(wang1); Student s2 = new Student(); s2.setName(wang2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 欺诈数据挖掘技术-洞察与解读
- 2025广东深圳市九洲光电科技有限公司招聘销售经理人员模拟试卷有答案详解
- 2025年上半年内江市部分学校公开考试招聘教师、部分事业单位公开考试招聘工作人员笔试考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年4月重庆永川区五间镇招聘公益性岗位人员1人考前自测高频考点模拟试题及答案详解(有一套)
- 2025福建莆田市荔城区事业单位定向招考未就业随军家属1人考前自测高频考点模拟试题及答案详解(必刷)
- 2025年甘肃省临夏州东乡县融媒体中心招聘考前自测高频考点模拟试题及答案详解一套
- 2025年琼海市校园招聘教育类专业技术人才(西安站)考前自测高频考点模拟试题及完整答案详解一套
- 2025广东医科大学招聘事业编制人员47人考前自测高频考点模拟试题及1套完整答案详解
- 2025年安庆职业技术学院高层次人才引进7人考前自测高频考点模拟试题及答案详解(必刷)
- 2025年长春医学高等专科学校公开招聘编外聘用制工作人员(2人)模拟试卷及完整答案详解一套
- 广东电网公司海南电网公司南网能源公司2025年9月社会招聘笔试参考题库附带答案详解
- 2025年储能技术在电力系统需求侧响应中的应用报告
- LED交通诱导屏运行维护手册
- 《Matlab编程与应用》课程简介与教学大纲
- 穴位按摩法操作评分标准
- 城乡供水一体化项目(一期)-给水工程施工图设计说明
- NISP一级考前模拟训练题库200题(含答案)
- CT检查设备十大品牌简介
- (完整版)最实用小学英语单词总表(含音标、单词默写表)
- 项目产品研发各阶段质量控制输出文件
- 述情障碍的社会根源
评论
0/150
提交评论