NHibernate:
??????? 是一個面向.NET環境的對象/關系數據庫映射工具。對象/關系數據庫映射(object/relational mapping,ORM)這個術語表示一種技術,用來把對象模型表示的對象映射到基于SQL的關系模型數據結構中去。
?
???????? 在(zai)今日(ri)的(de)(de)(de)(de)(de)(de)(de)(de)企業環境中,把面向對象(xiang)的(de)(de)(de)(de)(de)(de)(de)(de)軟件和關系數據(ju)庫一起使用(yong)可(ke)能(neng)是(shi)相當麻煩和浪費(fei)時間(jian)的(de)(de)(de)(de)(de)(de)(de)(de).NHibernate? NHibernate不僅僅管理.NET類(lei)到(dao)數據(ju)庫表(biao)(biao)的(de)(de)(de)(de)(de)(de)(de)(de)映射(包(bao)括.NET 數據(ju)類(lei)型到(dao)SQL數據(ju)類(lei)型的(de)(de)(de)(de)(de)(de)(de)(de)映射),還提供數據(ju)查詢和獲取數據(ju)的(de)(de)(de)(de)(de)(de)(de)(de)方法,可(ke)以大幅度減少開(kai)發(fa)時人(ren)工使用(yong)SQL和ADO.NET處理數據(ju)的(de)(de)(de)(de)(de)(de)(de)(de)時間(jian)。NHibernate的(de)(de)(de)(de)(de)(de)(de)(de)目標主要是(shi)用(yong)于(yu)與數據(ju)持久化相關的(de)(de)(de)(de)(de)(de)(de)(de)編程(cheng)任(ren)務,能(neng)夠使開(kai)發(fa)人(ren)員從原來枯(ku)燥的(de)(de)(de)(de)(de)(de)(de)(de)SQL語句(ju)的(de)(de)(de)(de)(de)(de)(de)(de)編寫(xie)中解(jie)放(fang)出來,解(jie)放(fang)出來的(de)(de)(de)(de)(de)(de)(de)(de)精力可(ke)以讓開(kai)發(fa)人(ren)員投入到(dao)業務邏(luo)輯的(de)(de)(de)(de)(de)(de)(de)(de)實現(xian)上。對于(yu)以數據(ju)為中心的(de)(de)(de)(de)(de)(de)(de)(de)程(cheng)序,開(kai)發(fa)人(ren)員往往是(shi)在(zai)數據(ju)庫中使用(yong)存儲過程(cheng)來實現(xian)商(shang)業邏(luo)輯,這種情況(kuang)下NHibernate可(ke)能(neng)不是(shi)好的(de)(de)(de)(de)(de)(de)(de)(de)解(jie)決方案,但對于(yu)那(nei)些基于(yu).NET,并且能(neng)夠實現(xian)OO業務模型和商(shang)業邏(luo)輯的(de)(de)(de)(de)(de)(de)(de)(de)中間(jian)層(ceng)應用(yong),NHibernate是(shi)有用(yong)的(de)(de)(de)(de)(de)(de)(de)(de)。NHibernate可(ke)以幫(bang)(bang)助用(yong)戶(hu)消除或者包(bao)裝那(nei)些針對特定廠商(shang)的(de)(de)(de)(de)(de)(de)(de)(de)SQL代碼,并且幫(bang)(bang)用(yong)戶(hu)把結(jie)果集從表(biao)(biao)格式(shi)的(de)(de)(de)(de)(de)(de)(de)(de)表(biao)(biao)示形式(shi)轉(zhuan)換(huan)成一系列的(de)(de)(de)(de)(de)(de)(de)(de)對象(xiang)。
?
具體課程大綱如下:
?
第一章:NHibernate入(ru)門
?????
第一講:NHibernate架構剖析
?????
第二講:搭建第一個NHibernate應用程序
?????
第三講:nhibernate.cfg.xml的(de)配(pei)置及注(zhu)意(yi)事項
?
第二章:NHibernate中(zhong)的關系映射
?
????? 第一講:NHibernate中單向一對多映射
?????
第二講:NHibernate中雙向一對多映射及其他
?????
第三講:NHibernate中原(yuan)生SQL的關聯查詢
?
第三章:探索NHibernate的(de)反(fan)轉和級聯及CRUD操作
?????
第一講:NHibernate中的CRUD操作
?????
第二講:NHibernate中的反轉(inverse)配置詳解
?????
第三講:NHibernate中(zhong)的(de)級聯(lian)(cascade)配(pei)置詳解
?
第四章:再探NHibernate查詢之HQL+Criteria API
???
??????
第一講:NHibernate HQL查詢深入講解(一)
??????
第二講:NHibernate HQL查詢深入講解(二)
??????
第三講:NHibernate CriteriaAPI條件查(cha)詢
?
第五章:NHibernate與(yu)log4net整合日志開發
??????
第一講:Criteria API的動態查詢與模糊查詢
??????
第二講:NHibernate之log4net入門詳解(一)
??????
第三講:NHibernate之log4net入門詳解(二)
??????
第(di)四講(jiang):NHibernate與log4net整合(he)配(pei)置
?
第六章:NHibernate的數據延遲加載(zai)機制(zhi)
??????
第一講:NHibernate中的數據延遲加載機制
??????
第二講:NHibernate中的即時加載的三種實現方式
??????
第三講:DTO對象在NHibernate中的運用
?
第七章:探索NHibernate中的事務與并發控制
??????
第一講:NHibernate中的事務的原理與實現
??????
第(di)二講:NHibernate中的數據(ju)并(bing)發控(kong)制(zhi)原理與實現
?
第八章:探索NHibernate中(zhong)的視圖與存(cun)儲過程
??????
第一講:NHibernate中視圖的調用
??????
第二講:NHibernate中利用存儲過程進行CRUD操作
??????
第三講:NHibernate調用(yong)存儲(chu)過程進行(xing)標量(liang)與實體查詢
?
第九章:NHibernate中的三種狀態(tai)與一(yi)級緩存
??????
第一講:理解NHibernate的三種數據持久化狀態
??????
第二(er)講(jiang):理(li)解(jie)NHibernate的一級緩存原理(li)與應用
?
第十章:NHibernate中使用memcache二級(ji)緩(huan)存
??????
第一講:配置NHibernate中二級緩存與查詢緩存
??????
第二講:實現對NHibernate二級緩存的管理
??????
第三(san)講:NHibernate第三(san)方擴展(zhan)緩(huan)存MemCache的配置
?
第十一章:NHibernate綜(zong)合示例與佳實(shi)踐(jian)
??????
第一講:整合NHibernate3+ASP.NET MVC4+MemCache+Log4NET
??????
第二(er)講:NHibernate使用佳實(shi)踐
?
階段項目一-基于NHibernate和MVC4的會員(yuan)檔(dang)案管理系統
?
涉及技術點包括有:
NHibernate3+ MemCache+Log4NET+ ASP.NET MVC4
需(xu)要注意的(de)事項就是NHibernate 的(de)hibernate.cfg.xml的(de)配置以及相關實體(ti)類.hbm.xml映射文件的(de)配置
MVC4的新語(yu)法和視圖技術
MVC4中向View層傳遞(di)并(bing)綁定集合數據(ju)的注意事項
MVC4中不同Controller之(zhi)間數(shu)據的傳遞,以及保存數(shu)據的兩種典型錯誤以及解(jie)決方案
?
具體課程大綱如下:
?
???????????????????????? 第(di)一講:系統說明與開發環境搭建
????????????????????????
第二講:項目框架搭建及NHibernate環境配(pei)置(zhi)
????????????????????????
第三講:NHibernate與(yu)ASP.NET MVC4整合
????????????????????????
第四講(jiang):NHibernate配置Memcache緩存與Log4NET
????????????????????????
第五(wu)講:NHibernate+ASP.NET MVC4項目框架(jia)整合測試
?????????????????????????
第六講:系統(tong)登(deng)錄模塊(kuai)后臺NHibernate映射配置(zhi)
????????????????????????
第七講:NHibenate配置會員檔案(an)系(xi)統表(biao)間雙向關(guan)系(xi)
????????????????????????
第(di)八(ba)講(jiang):ASP.NET MVC4層登錄模塊設計(ji)并(bing)實現(xian)
????????????????????????
第九講:會員檔案管理首(shou)頁展(zhan)與(yu)明細列表
????????????????????????
第十講(jiang):會員檔案管理檔案修改(gai)模(mo)塊設計與實現
?????????????????????????
第十(shi)一(yi)講:總結(jie)NH+MVC4開發過程中常見問題解決方案
?
項目實戰二-MyHouseRent房屋租賃平臺系統(NHibernate3+ASP.NET MVC4+Memcache+Log4NET技術綜合)
?
具體課程大綱如下:
?
????????????????????????第一講(jiang):系統項目(mu)需求分(fen)析(xi)及數據庫(ku)設計
????????????????????????
第二講:ASP.NET MVC4與NHibernate項(xiang)目整合
????????????????????????
第(di)三講:ASP.NET MVC4+NHibernate+log4net項目整合
???????????????????????
第四講:ASP.NET MVC4+NHibernate+Log4NET+Memcache項(xiang)目整合(he)
????????????????????????
第(di)五講:ASP.NET MVC4多層框架(jia)架(jia)構(gou)搭建(jian)
???????????????????????
第六講:用戶登錄與(yu)注(zhu)冊功(gong)能模塊(kuai)分(fen)析與(yu)實現
???????????????????????
第七(qi)講:系統(tong)權限身份驗證實現
????????????????????????
第八講:自定義BaseController重構權限身份驗證功能
?
??????????????????????? 第九講(jiang):編寫系統NHibernate一對多雙向映(ying)射模型
????????????????????????
第十講:編(bian)寫系統(tong)NHibernate IDao層與Dao實現層
???????????????????????
第十(shi)一講:系(xi)統主頁房屋列表展(zhan)示功能實現
???????????????????????
第(di)十二(er)講:為系統主頁(ye)房屋列表展示加入分頁(ye)功能
???????????????????????
第十三(san)講:查看房屋明細功能(neng)模塊(kuai)實現(xian)
???????????????????????
第(di)十四講:自定(ding)義(yi)SearchViewModel實現(xian)房屋信息查詢
???????????????????????
第十五講:利用分部視圖(tu)重構查詢模塊
???????????????????????
第(di)十六講:重(zhong)構主頁(ye)(ye)房(fang)屋(wu)列(lie)表(biao)展示加入(ru)分頁(ye)(ye)查詢功能
???????????????????????
第十七(qi)講:用面向對象方式重(zhong)構主頁分頁查詢(xun)
???????????????????????
第十八講:實(shi)現房屋信息刪(shan)除功能(neng)考(kao)慮權(quan)限
???????????????????????
第十九講:實現(xian)發布房屋信息功能模塊
???????????????????????
第二(er)十(shi)講:利用JQuery+ASP.NET MVC實現區域(yu)街(jie)道級聯(一)
???????????????????????
第二十一講:利(li)用JQuery+ASP.NET MVC實現(xian)區域街道(dao)級聯(二)
???????????????????????
第二(er)十二(er)講:實現房屋(wu)信息(xi)修改及項目總紹