• /  22
  • 下載費用: 9.90積分  

JavaEE單元1配套教學課件4JavaEE 單元四 JavaEE 單元四 JavaEE-單元4 任務3 部門信息管理.ppt

'JavaEE單元1配套教學課件4JavaEE 單元四 JavaEE 單元四 JavaEE-單元4 任務3 部門信息管理.ppt'
Struts2+Hibernate+SpringJavaEE 企業級項目開發單元四 人事管理—任務3 部門信息管理1任務簡介2任務分析3相關支撐知識4任務小結目錄頁第1頁任務3 部門信息管理過渡頁第2頁過渡頁任務簡介任務3 部門信息管理任務簡介本任務的目標是學習Hibernate的數據關聯的配置,本任務一對一關聯一對多關聯多對多關聯應用數據關聯配置,實現部門信息管理第3頁過渡頁第4頁過渡頁任務分析任務3 部門信息管理任務分析 數據庫中實體的關聯關系有三種:一對一,一對多和多對多 在Hibernate在映射文件中配置關聯關系,非常的靈活 Hibernate中關聯關系主要在*.hbm.xml中進行配置 部門信息管理包括添加部門、刪除部門第5頁過渡頁第6頁過渡頁相關支撐知識相關支撐知識 一對一關聯指兩個對象之間是一對一的關系,Hibernate中有兩種映射一對一關聯關系的實現方式: 共享主鍵是限制兩個數據表的主鍵使用相同的值,通過主鍵形成一對一映射關系; 惟一外鍵是一個表的外鍵和另一個表的惟一主鍵對應形成一對一映射關系。第7頁一對一關聯1一數據關聯任務3 部門信息管理相關支撐知識第8頁一對一關聯1任務3 部門信息管理一數據關聯 一對一共享主鍵實例:一個班級對應一個班長// 定義實體類StuClass.javapublic class StuClass implements Serializable{ private 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任務3 部門信息管理一數據關聯 一對一共享主鍵實例:一個班級對應一個班長StuClass.hbm.xml的配置代碼如下: StuLeader.hbm.xml的配置代碼如下: 實體映射文件相關支撐知識第10頁一對一關聯1任務3 部門信息管理一數據關聯 一對一共享主鍵實例:一個班級對應一個班長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); transaction.commit(); System.out.println(sc.getName()+" "+sl.getLeaderName()); }}測試類相關支撐知識一對多關系很常見,例如班級與學生、部門與員工等的關系就是常見的一對多關系一對多關聯映射主要使用及來實現映射配置第11頁一對多關聯2一數據關聯任務3 部門信息管理相關支撐知識第12頁一對多關聯2任務3 部門信息管理一數據關聯 一對多實例:一個班級對應多個學生//定義實體類StuClass.javapublic class StuClass implements Serializable{ private 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屬性方法}實體類相關支撐知識第13頁一對多關聯2任務3 部門信息管理一數。省略部分。 stu1.setStuname("王五"); stu1.setStuclass(stuclass); Student stu2 = new Student(); stu2.setStuId("1108203312"); stu2.setStuname("張紅"); stu2.setStuclass(stuclass); session.save(stu1); session.save(stu2); transaction.commit(); }}測試類相關支撐知識兩個表的多對多關系,需要借助第三個連接表來實現,否則就會出現冗余,在查詢結果中就會遇到這種情況。多對多關系在日常應用中比較普遍,如學生和課程、學生和老師、商品和分類等之間的關系。第15頁多對多關聯3一數據關聯任務3 部門信息管理相關支撐知識第16頁多對多關聯3任務3 部門信息管理一數據關聯 多對多實例:多個學生對應多個老師//定義實體類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 teachId; private String teacherName; //一個老師可教授多個學生 private Set students=new HashSet(); …… // 一組set/get屬性方法}實體類相關支撐知識第17頁多對多關聯3任務3 部門信息管理一數據關聯 多對多實例:多個學生對應多個老師Student的映射文件Student.hbm.xml ….. Teacher的映射文件Teacher.hbm.xml ….. 實體映射文件相關支撐知識第18頁多對多關聯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.setTeacherName("鄧小志"); teach1.setTeachId("J00001"); Set teachs=new HashSet(); teachs.add(teach1); stu1.setTeachers(teachs); session.save(stu1); transaction.commit(); } }測試類過渡頁第19頁過渡頁任務小結任務小結能力目標第20頁1一對一關聯2一對多關聯任務3 部門信息管理3多對多關聯謝謝觀看
關 鍵 詞:
單元 javaee 4javaee 教學 任務 配套 部門 信息管理
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:JavaEE單元1配套教學課件4JavaEE 單元四 JavaEE 單元四 JavaEE-單元4 任務3 部門信息管理.ppt
鏈接地址: http://www.476824.live/p-51617458.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 必赢客北京pk拾不收费 北京赛车论坛百度贴吧 查河北20选5开奖河结果 山东十一选五360 我下载过的彩票平台app 台湾宾果28盛大sd7799内部 天天三分彩走势 快乐10分20选8除3法 江西11选五历史开奖号码 湖北30选5玩法