• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    AORM持久層框架的設(shè)計(jì)與實(shí)現(xiàn)

    2016-01-27 06:24:07

    李 春 梅

    (安徽新華學(xué)院 信息工程學(xué)院,安徽 合肥 230088)

    ?

    AORM持久層框架的設(shè)計(jì)與實(shí)現(xiàn)

    李 春 梅

    (安徽新華學(xué)院 信息工程學(xué)院,安徽 合肥 230088)

    摘要:針對(duì)傳統(tǒng)ORM(object-relational mapping)框架使用成本高、執(zhí)行效率難以控制等缺點(diǎn),結(jié)合軟件開(kāi)發(fā)過(guò)程中的實(shí)際要求,提出了AORM(adaptive object-relational mapping)持久層框架的設(shè)計(jì)方案。該方案以C#的反射機(jī)制為基礎(chǔ),綜合考慮軟件實(shí)際開(kāi)發(fā)過(guò)程中的具體要求,結(jié)合多種數(shù)據(jù)庫(kù)類型的語(yǔ)法特點(diǎn),建立了以XML關(guān)系映射文件與自適應(yīng)關(guān)系映射相結(jié)合的AORM持久層框架。與傳統(tǒng)ORM框架相比,其最大的特點(diǎn)是將SQL語(yǔ)句獨(dú)立于應(yīng)用程序,非常有利于數(shù)據(jù)庫(kù)結(jié)構(gòu)的調(diào)整和優(yōu)化。

    關(guān)鍵詞:AORM;ORM;對(duì)象關(guān)系映射;多種數(shù)據(jù)庫(kù)類型;數(shù)據(jù)持久化

    ORM系統(tǒng)作為中間件,將關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)以及數(shù)據(jù)關(guān)系轉(zhuǎn)換成對(duì)象以及對(duì)象之間的關(guān)系[1],用于解決關(guān)系數(shù)據(jù)庫(kù)與對(duì)象之間存在的互不匹配的現(xiàn)象[2]。就目前市面上常見(jiàn)的ORM框架來(lái)說(shuō),基本上都是提前建立數(shù)據(jù)表與實(shí)體類對(duì)象及其屬性之間的映射關(guān)系[3],一方發(fā)生變化則另一方必須進(jìn)行相應(yīng)的變化,而且實(shí)體類庫(kù)的變化則會(huì)導(dǎo)致整個(gè)系統(tǒng)的代碼均需要做出修改[4],一變則全變,限制了系統(tǒng)的靈活性。AORM的中心思想是使數(shù)據(jù)庫(kù)"適應(yīng)"實(shí)體類庫(kù),而不是使實(shí)體類庫(kù)依賴數(shù)據(jù)庫(kù)結(jié)構(gòu)。從而使得開(kāi)發(fā)人員可以嚴(yán)格的按照對(duì)象模型以及狀態(tài)機(jī)去編寫(xiě)軟件,而無(wú)需考慮數(shù)據(jù)的存儲(chǔ)格式以及存儲(chǔ)方式, AORM則承擔(dān)起對(duì)象模型(實(shí)體類)與持久化數(shù)據(jù)之間的轉(zhuǎn)換,大大提高了系統(tǒng)的靈活性以及適用性。以下具體給出了AORM持久層框架的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)過(guò)程。

    1映射生成器的設(shè)計(jì)與實(shí)現(xiàn)

    映射生成器負(fù)責(zé)管理數(shù)據(jù)結(jié)果集與實(shí)體類之間的映射關(guān)系[5],并且將映射關(guān)系以XML文件為載體存儲(chǔ)在物理磁盤(pán)中,以便隨時(shí)調(diào)用。映射關(guān)系可事先定義好,也可以在實(shí)體類首次被實(shí)例化時(shí)自動(dòng)的創(chuàng)建其映射關(guān)系,并生成相應(yīng)的XML文件進(jìn)行存儲(chǔ)[6],即實(shí)現(xiàn)自動(dòng)化映射,降低了開(kāi)發(fā)人員的學(xué)習(xí)難度。映射生成器操作類如圖1所示。LoadMapping方法根據(jù)給定的映射文件存放路徑以及實(shí)體類類型獲取實(shí)體類的映射關(guān)系,BuildMapping方法則通過(guò)C#的反射機(jī)制,獲取該實(shí)體類的可讀寫(xiě)屬性信息(包括繼承的屬性信息)[7],并與給定的數(shù)據(jù)列相互對(duì)照,提取二者匹配信息并生成映射關(guān)系文件(僅生成映射文件中的Properties小節(jié)的內(nèi)容)。

    映射關(guān)系映射文件結(jié)構(gòu)如下所示:

    〈entity-mapping〉

    〈class fulltypename="*" version="*" tablename=""〉

    〈properties〉

    〈property name="*" field-name="*" primarykey="true" readonly="true"/〉

    〈property name="*" field-name="*"/〉

    〈/properties〉

    〈operations〉

    〈operation name="" sqltype="0" sql="" returned="" 〉

    〈params〉〈param name="" type="" propertyname="" isnullable=""/〉〈/params〉

    〈results〉〈result Index="0" propertyname="*" /〉〈/results 〉

    〈/operation〉

    〈/operations〉

    〈/class〉

    〈/entity-mapping〉

    圖1AORM映射關(guān)系生成器

    其中class小節(jié)中的fulltypename標(biāo)識(shí)實(shí)體類的全名稱,tablename標(biāo)識(shí)實(shí)對(duì)應(yīng)的表/視圖,version標(biāo)識(shí)映射文件的版本,其余小節(jié)定義如下:

    1) Properties小節(jié):定義實(shí)體類的值類型屬性以及繼承自BaseEntity類的引用類型屬性與數(shù)據(jù)列之間的對(duì)照關(guān)系。其中name對(duì)應(yīng)實(shí)體類的屬性,fieldname對(duì)應(yīng)數(shù)據(jù)列的名稱,primarykey標(biāo)識(shí)當(dāng)前的數(shù)據(jù)列是否為主鍵列,readonly標(biāo)識(shí)是否為只讀屬性。實(shí)體類屬性與數(shù)據(jù)列之間的數(shù)據(jù)類型轉(zhuǎn)換是自動(dòng)進(jìn)行的(要求二者之間能夠進(jìn)行轉(zhuǎn)換)。

    2) Operations小節(jié):定義實(shí)體類的擴(kuò)展方法(除CURD之外的數(shù)據(jù)操作方法)。CRUD(creat/add, read, update, delete)操作為實(shí)體類的默認(rèn)操作[8],Operations中定義的是更復(fù)雜的操作:如多表更新、查詢以及使用存儲(chǔ)過(guò)程的操作等,支持單數(shù)據(jù)集以及多數(shù)據(jù)集的數(shù)據(jù)填充。其中name標(biāo)識(shí)操作的名稱,具備唯一性。Param小節(jié)中的name對(duì)應(yīng)sql中的參數(shù)名稱或占位標(biāo)識(shí)符,propertyname則表示若未給定參數(shù)時(shí)對(duì)應(yīng)實(shí)體類的屬性名。Result小節(jié)僅在返回多結(jié)果集時(shí)使用,index為返回的記錄集順序,propertyname為對(duì)應(yīng)的實(shí)體類屬性名。

    2對(duì)象存取器的設(shè)計(jì)與實(shí)現(xiàn)

    對(duì)象存取器負(fù)責(zé)實(shí)體類與數(shù)據(jù)庫(kù)的交互任務(wù),包括數(shù)據(jù)的存儲(chǔ)以及讀取(見(jiàn)圖2)[9]。故此,AORM中的實(shí)體類也是有著一定的限制和要求:

    1) 實(shí)體類必須繼承自基類BaseEntity,可對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)表、視圖以及通過(guò)SQL語(yǔ)句或存儲(chǔ)過(guò)程等方式所取得的數(shù)據(jù)集;

    2) 實(shí)體類的屬性的類型可以是實(shí)體類類型。

    3) 實(shí)體類的屬性的類型可以是集合類型(Array,List或Dictionary類型等),但是其基類型必須繼承自BaseEntity的實(shí)體類類型。

    對(duì)象的數(shù)據(jù)存取主要通過(guò)基類BaseEntity實(shí)現(xiàn),并且所有的操作都有著共同的操作步驟:

    1) 獲取操作適配器名稱。一般有3種途徑:參數(shù)進(jìn)行指定、類實(shí)例通過(guò)屬性DataProviderName進(jìn)行設(shè)置以及在實(shí)體類定義中通過(guò)類的特性進(jìn)行設(shè)定。

    2) 獲取關(guān)系映射信息。根據(jù)已經(jīng)取得的適配器名稱取得適配器配置信息(DataProviderConfiguration),然后根據(jù)傳入的泛型或當(dāng)前實(shí)體類類型以及映射文件存放基礎(chǔ)路徑(TemplatePath)調(diào)用映射管理器中的LoadMapping方法獲取映射關(guān)系信息。若映射文件不存在,并且預(yù)先設(shè)定了tablename,則會(huì)自動(dòng)從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)列信息,調(diào)用BuildMapping方法生成關(guān)系映射文件。

    圖2AORM對(duì)象存取器

    3) 取得結(jié)果:將已經(jīng)取得的適配器配置信息作為參數(shù)調(diào)用數(shù)據(jù)庫(kù)適配器工廠類(DatabaseProviderFactory,見(jiàn)圖3)的GetDatabaseProvider方法獲取具體的適配器(實(shí)現(xiàn)了IDatabaseProvider接口并操作具體種類數(shù)據(jù)庫(kù)的適配器,如圖3中的MSSQLDatabaseProvider、MySQLDatabaseProvider、OracleDatabaseProvider等),然后根據(jù)映射文件中的操作定義調(diào)用CreateCommand方法生成具體的Command,之后再根據(jù)具體的操作要求調(diào)用不同的方法取得相應(yīng)的返回結(jié)果。

    4) 實(shí)體類數(shù)據(jù)填充:根據(jù)已取得的數(shù)據(jù)結(jié)果以及實(shí)體類屬性關(guān)系映射信息,利用C#的反射機(jī)制進(jìn)行數(shù)據(jù)填充,然后將填充后的對(duì)象返回。

    數(shù)據(jù)操作分為基本操作以及擴(kuò)展操作2大類[10]。其中基本操作包括Add,Save(含一個(gè)重載函數(shù)),Delete(含一個(gè)重載函數(shù))共5個(gè)操作,擴(kuò)展操作包括GetData,GetList以及Execute共3個(gè)操作,所有操作中的object類型參數(shù)均為匿名類型,格式為鍵值對(duì),用于指定參數(shù)名稱以及相應(yīng)的值。

    3數(shù)據(jù)庫(kù)適配器的設(shè)計(jì)與實(shí)現(xiàn)

    數(shù)據(jù)庫(kù)適配器的主要目的是實(shí)現(xiàn)實(shí)體類以及實(shí)體類的數(shù)據(jù)操作,與具體的數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)類型分離,使得實(shí)體類以及與實(shí)體類的相關(guān)操作具備數(shù)據(jù)庫(kù)無(wú)關(guān)性以及數(shù)據(jù)庫(kù)類型無(wú)關(guān)性[11],并且將所有與數(shù)據(jù)庫(kù)直接交互的操作均放到映射文件中進(jìn)行定義,避免在代碼中出現(xiàn)SQL語(yǔ)句,提高用戶系統(tǒng)的可維護(hù)性以及適用性等。事務(wù)的支持也是數(shù)據(jù)庫(kù)適配器所必須具備的[12]。

    如圖3所示,數(shù)據(jù)庫(kù)適配器通過(guò)一個(gè)適配器操作接口IDatabaseProvider以及一個(gè)適配器配置信息DataProviderConfiguration實(shí)現(xiàn)了多數(shù)據(jù)庫(kù)的支持,同時(shí)也提供了一個(gè)數(shù)據(jù)庫(kù)事務(wù)支持對(duì)象DatabaseTransaction用于數(shù)據(jù)庫(kù)事務(wù)操作。不同的數(shù)據(jù)庫(kù)適配器均實(shí)現(xiàn)了IDatabaseProvider接口,用戶可以根據(jù)給定的操作條件執(zhí)行數(shù)據(jù)庫(kù)操作,使得用戶可以無(wú)視具體的數(shù)據(jù)庫(kù)種類,將具體的細(xì)節(jié)完全交與適配器進(jìn)行完成。同時(shí),適配器也提供了直接執(zhí)行SQL語(yǔ)句的操作,使得適配器可以脫離AORM單獨(dú)進(jìn)行使用。

    數(shù)據(jù)庫(kù)適配器的接口函數(shù)CreateCommand用于生成符合數(shù)據(jù)庫(kù)自身規(guī)則的SQL命令對(duì)象,有效地解決了多類型數(shù)據(jù)庫(kù)的支持要求。

    圖3數(shù)據(jù)庫(kù)適配器

    4結(jié)束語(yǔ)

    針對(duì)現(xiàn)行ORM軟件的諸多缺點(diǎn),從如何提高軟件的開(kāi)發(fā)效率、降低軟件的復(fù)雜程度等方面作為出發(fā)點(diǎn),以C#為開(kāi)發(fā)環(huán)境,設(shè)計(jì)了一個(gè)基于XML配置的、可自動(dòng)建立數(shù)據(jù)庫(kù)與實(shí)體類映射關(guān)系的、支持多種數(shù)據(jù)庫(kù)類型的AORM持久型框架。目前,AORM持久層框架已成功應(yīng)用于美國(guó)某大型法律法規(guī)網(wǎng)站系統(tǒng),一個(gè)站點(diǎn)同時(shí)提供了20多個(gè)州的法律法規(guī)站點(diǎn)服務(wù)(每個(gè)州均有一個(gè)后臺(tái)數(shù)據(jù)庫(kù),結(jié)構(gòu)不盡相同),就系統(tǒng)開(kāi)發(fā)人員反饋以及目前網(wǎng)站的運(yùn)行情況來(lái)說(shuō),達(dá)到了預(yù)期的要求和目標(biāo)。

    參考文獻(xiàn):

    [1] 張小鵯. 面向?qū)ο蠓治龇椒ǖ木C述[J]. 甘肅科技, 2010 (2): 44-47.

    [2] 王永誠(chéng), 蘇逸倫. 深入淺出談ORM [J]. 中華技術(shù), 2010 (88): 108-115.

    [3] Mata-Toledo R, Monger M. Utilizing the ADO. NET entity framework in database courses[J]. Journal of Computing Sciences in Colleges, 2011, 26(3): 93-97.

    [4] 盧小垂. 基于. Net 平臺(tái)的 ORM 輕量級(jí)開(kāi)發(fā)框架的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電信快報(bào): 網(wǎng)絡(luò)與通信, 2012 (10): 10-16.

    [5] 李杰. 基于 ORM 的輕量級(jí)數(shù)據(jù)持久化技術(shù)研究及應(yīng)用[J]. 計(jì)算機(jī)科學(xué), 2010, 37(9): 190-193.

    [6] Zhang Z Y, Chang S G, Ding T F. Research on the Dynamic Integrating with Heterogeneous Database System Based XML and Hibernate[J]. Applied Mechanics and Materials, 2013(263): 1717-1720.

    [7] Pop D P. Designing An Object Relation Mapping System In Php[J]. Journal of Information Systems & Operations Management, 2011, 5(1): 207-212.

    [8] 梁伍七. Hibernate 中關(guān)聯(lián)關(guān)系映射策略研究與實(shí)現(xiàn)[J]. 安徽廣播電視大學(xué)學(xué)報(bào), 2012 (3): 117-120.

    [9] 譚瑩宇. 基于 Hibernate JPA 和 JQuery 框架的數(shù)據(jù)查詢研究與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化, 2012 (1): 196-198.

    [10] Troelsen A. Type Reflection, Late Binding, and Attribute-Based Programming[M].Pro C# 5.0 and the. NET 4.5 Framework. Apress, 2012: 555-598.

    [11] 張美玲. 增量預(yù)取技術(shù)在持久化框架中的研究與應(yīng)用[D]. 青島:中國(guó)海洋大學(xué), 2010.

    [12] Cain III H W, Dillenberger D N, Hack M H T, et al. Database system transaction management: U.S. Patent Application 13/435,281[P]. 2012-3-30.

    Design and Implementation of AORM Persistence Layer Framework

    LI Chun-mei

    (School of Information Engineering, Anhui Xinhua University, Hefei 230088, China)

    Abstract:Aiming at the disadvantages of traditional ORM(object-relational mapping) framework such as high cost and difficult to control, combined with the actual process of software development requirements, a AORM (adaptive object-relational mapping) persistence framework was proposed. This framework is based on the reflection mechanism in C#, considering the specific requirements at actual software development process, combined with the grammatical features of multiple database types, established the persistence framework, which integrates the XML-relation mapping files and auto-relational mapping method. Compared with the traditional ORM framework, the application-independent SQL statements is the biggest feature, and very beneficial to adjust and optimize the database structure.

    Key words:AORM, ORM, object-relational mapping, multiple database types, data persistence

    中圖分類號(hào):TP319

    文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1007-4260(2015)01-0071-05

    DOI:10.13757/j.cnki.cn34-1150/n.2015.01.020

    作者簡(jiǎn)介:李春梅, 女, 安徽滁州人, 碩士,安徽新華學(xué)院信息工程學(xué)院講師,主要研究方向?yàn)橛?jì)算機(jī)軟件技術(shù)。

    收稿日期:2014-07-09

    嫩草影院新地址| 久久99热6这里只有精品| 人妻少妇偷人精品九色| 久久久国产成人免费| 日韩 亚洲 欧美在线| 国产黄色视频一区二区在线观看 | 免费看av在线观看网站| 99精品在免费线老司机午夜| 免费看光身美女| 亚洲欧美日韩东京热| 九草在线视频观看| 久久鲁丝午夜福利片| 色综合色国产| 国产精品乱码一区二三区的特点| 国产白丝娇喘喷水9色精品| 亚洲电影在线观看av| 国产成人精品久久久久久| 人妻夜夜爽99麻豆av| 国产高潮美女av| 1000部很黄的大片| av在线观看视频网站免费| 日韩欧美精品v在线| eeuss影院久久| 黄色视频,在线免费观看| 乱系列少妇在线播放| 亚洲在线自拍视频| 欧美一区二区精品小视频在线| 美女黄网站色视频| 1024手机看黄色片| 国产伦精品一区二区三区四那| 国产熟女欧美一区二区| 国产精品一及| 欧美色视频一区免费| 真实男女啪啪啪动态图| 精品一区二区三区人妻视频| 变态另类丝袜制服| 中文字幕精品亚洲无线码一区| 啦啦啦韩国在线观看视频| 成年女人看的毛片在线观看| 日韩欧美三级三区| 毛片女人毛片| 亚洲丝袜综合中文字幕| 久久欧美精品欧美久久欧美| 欧美一区二区亚洲| 日日摸夜夜添夜夜爱| 少妇熟女欧美另类| 日韩国内少妇激情av| 亚洲欧美精品专区久久| 嫩草影院精品99| 国产美女午夜福利| 中国美白少妇内射xxxbb| 亚洲av中文av极速乱| 色哟哟·www| 亚洲四区av| 国产色爽女视频免费观看| 高清午夜精品一区二区三区 | 国内精品久久久久精免费| 高清午夜精品一区二区三区 | 在线播放无遮挡| 亚洲精品久久久久久婷婷小说 | 久久6这里有精品| 如何舔出高潮| 国产高清不卡午夜福利| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 人人妻人人看人人澡| 国内少妇人妻偷人精品xxx网站| 国产成人精品婷婷| 国产真实乱freesex| 国产色婷婷99| 欧美精品一区二区大全| 最近视频中文字幕2019在线8| 久久人人爽人人片av| 人人妻人人看人人澡| 只有这里有精品99| 91久久精品国产一区二区成人| 精品日产1卡2卡| 五月开心婷婷网| 亚洲欧洲国产日韩| 王馨瑶露胸无遮挡在线观看| 一个人免费看片子| 2022亚洲国产成人精品| 色视频在线一区二区三区| 蜜桃国产av成人99| 看免费成人av毛片| 草草在线视频免费看| 美女内射精品一级片tv| 美女中出高潮动态图| 两个人的视频大全免费| 美女xxoo啪啪120秒动态图| 久久99热6这里只有精品| 日日摸夜夜添夜夜添av毛片| av福利片在线| 国模一区二区三区四区视频| 成年女人在线观看亚洲视频| 母亲3免费完整高清在线观看 | 91午夜精品亚洲一区二区三区| 欧美国产精品一级二级三级| 嘟嘟电影网在线观看| 看免费成人av毛片| 国产一区亚洲一区在线观看| 最近的中文字幕免费完整| 另类亚洲欧美激情| 日本午夜av视频| 91精品国产国语对白视频| 亚洲美女搞黄在线观看| 欧美日韩一区二区视频在线观看视频在线| 91久久精品国产一区二区三区| 国产精品国产三级国产专区5o| 国产毛片在线视频| 亚洲国产av影院在线观看| 久久午夜福利片| 日本91视频免费播放| 亚洲欧美精品自产自拍| 制服人妻中文乱码| 欧美成人午夜免费资源| 欧美精品人与动牲交sv欧美| 国产成人av激情在线播放 | 国产黄色免费在线视频| 中文字幕av电影在线播放| 特大巨黑吊av在线直播| 亚洲av日韩在线播放| 色哟哟·www| 日本黄色片子视频| 黑丝袜美女国产一区| 久久人人爽人人爽人人片va| 啦啦啦啦在线视频资源| 精品国产一区二区三区久久久樱花| 国产精品国产三级国产av玫瑰| 人妻少妇偷人精品九色| 亚洲中文av在线| 99热网站在线观看| 日韩亚洲欧美综合| 久久久久久久久久成人| 欧美日韩视频精品一区| 男女边吃奶边做爰视频| 久久ye,这里只有精品| 高清av免费在线| a级毛片免费高清观看在线播放| 日韩欧美精品免费久久| 午夜激情福利司机影院| 国产深夜福利视频在线观看| 人妻 亚洲 视频| 免费观看av网站的网址| 免费观看a级毛片全部| 自拍欧美九色日韩亚洲蝌蚪91| 黄色毛片三级朝国网站| 日本欧美国产在线视频| 99热这里只有精品一区| 日韩电影二区| 欧美xxⅹ黑人| 日韩成人av中文字幕在线观看| 久久久久久久久久久丰满| 亚洲第一区二区三区不卡| 伦理电影免费视频| 亚洲av在线观看美女高潮| 国产精品久久久久久久电影| 久久综合国产亚洲精品| av黄色大香蕉| av在线观看视频网站免费| 久久青草综合色| 国产亚洲av片在线观看秒播厂| 久久人妻熟女aⅴ| 少妇丰满av| 黄色怎么调成土黄色| 亚洲av综合色区一区| 高清视频免费观看一区二区| 精品久久久久久电影网| 国产老妇伦熟女老妇高清| kizo精华| 免费不卡的大黄色大毛片视频在线观看| 简卡轻食公司| 女人久久www免费人成看片| 一级毛片电影观看| 丁香六月天网| freevideosex欧美| 国产精品久久久久成人av| 热99久久久久精品小说推荐| 一级毛片 在线播放| 丝袜脚勾引网站| 欧美激情国产日韩精品一区| 自拍欧美九色日韩亚洲蝌蚪91| 韩国高清视频一区二区三区| 亚洲第一区二区三区不卡| 青春草亚洲视频在线观看| 久久久久久人妻| 国产成人精品久久久久久| 99九九线精品视频在线观看视频| 国产高清三级在线| 成人黄色视频免费在线看| 精品久久久精品久久久| 亚洲性久久影院| 精品一区二区免费观看| 国产精品一二三区在线看| 国产白丝娇喘喷水9色精品| 九色成人免费人妻av| 国产精品久久久久久精品古装| 免费av不卡在线播放| 精品久久久久久久久av| 91精品国产九色| 肉色欧美久久久久久久蜜桃| 久久精品久久精品一区二区三区| 大又大粗又爽又黄少妇毛片口| 日本与韩国留学比较| av国产久精品久网站免费入址| 国产av一区二区精品久久| 一区在线观看完整版| 春色校园在线视频观看| 国产欧美亚洲国产| 国产视频首页在线观看| 涩涩av久久男人的天堂| 日产精品乱码卡一卡2卡三| 免费观看无遮挡的男女| 国产精品人妻久久久久久| 国产国语露脸激情在线看| 精品一区二区三区视频在线| 日日摸夜夜添夜夜添av毛片| 亚洲内射少妇av| 飞空精品影院首页| 亚洲av日韩在线播放| 最近中文字幕高清免费大全6| videos熟女内射| 日韩一本色道免费dvd| 99久久综合免费| 精品视频人人做人人爽| 亚洲av成人精品一二三区| 国产精品一区www在线观看| 久久久久久久久久久免费av| 国产精品一区二区在线不卡| 黄色欧美视频在线观看| 精品久久久久久电影网| 99热全是精品| 交换朋友夫妻互换小说| 18禁在线无遮挡免费观看视频| 两个人免费观看高清视频| 少妇丰满av| 久久国内精品自在自线图片| 欧美激情 高清一区二区三区| 亚洲av.av天堂| 少妇人妻精品综合一区二区| 大陆偷拍与自拍| 在线观看国产h片| 亚洲国产精品国产精品| 观看av在线不卡| 男人爽女人下面视频在线观看| 少妇高潮的动态图| 亚洲情色 制服丝袜| 日本欧美视频一区| 色吧在线观看| 亚洲精品一区蜜桃| 久久久久久久久久久久大奶| 男男h啪啪无遮挡| 少妇的逼水好多| 一本—道久久a久久精品蜜桃钙片| 久久人人爽人人片av| 国产成人精品在线电影| 亚洲精品久久午夜乱码| 国产不卡av网站在线观看| 久久久久视频综合| 狠狠精品人妻久久久久久综合| 国产永久视频网站| 国产成人免费无遮挡视频| 国产精品人妻久久久久久| 日韩三级伦理在线观看| 国产在线一区二区三区精| 婷婷色麻豆天堂久久| 最近手机中文字幕大全| 久久国产精品大桥未久av| 观看美女的网站| 国产淫语在线视频| 亚洲精品乱久久久久久| 久久久久久久久久久丰满| 国产精品无大码| 熟女人妻精品中文字幕| 永久网站在线| 美女cb高潮喷水在线观看| 伊人久久精品亚洲午夜| 久久影院123| 欧美一级a爱片免费观看看| 一区二区av电影网| 国产精品蜜桃在线观看| 亚洲精品日韩av片在线观看| 另类精品久久| 中文欧美无线码| 亚洲欧美一区二区三区国产| 肉色欧美久久久久久久蜜桃| 大片免费播放器 马上看| 国产伦理片在线播放av一区| 精品久久国产蜜桃| 国产精品蜜桃在线观看| 狠狠婷婷综合久久久久久88av| 中国三级夫妇交换| 插阴视频在线观看视频| 91成人精品电影| 永久免费av网站大全| av又黄又爽大尺度在线免费看| 黄色视频在线播放观看不卡| 精品人妻在线不人妻| 大香蕉久久成人网| 色视频在线一区二区三区| 亚洲不卡免费看| 成人亚洲精品一区在线观看| xxx大片免费视频| 亚洲国产精品成人久久小说| 熟女av电影| 欧美人与性动交α欧美精品济南到 | 亚洲精品av麻豆狂野| 欧美成人午夜免费资源| 免费高清在线观看视频在线观看| 最近2019中文字幕mv第一页| 全区人妻精品视频| 午夜91福利影院| 日本黄色日本黄色录像| 亚洲一级一片aⅴ在线观看| 亚洲欧美一区二区三区国产| 国产精品一区二区三区四区免费观看| 天堂8中文在线网| 一区二区日韩欧美中文字幕 | 久久影院123| 大又大粗又爽又黄少妇毛片口| av免费在线看不卡| 日日啪夜夜爽| 亚洲色图 男人天堂 中文字幕 | 韩国av在线不卡| 免费观看在线日韩| 日韩亚洲欧美综合| 人成视频在线观看免费观看| 免费日韩欧美在线观看| 永久网站在线| 免费日韩欧美在线观看| 一级毛片黄色毛片免费观看视频| av国产久精品久网站免费入址| 国产一区二区三区综合在线观看 | 一本久久精品| 99视频精品全部免费 在线| 久久 成人 亚洲| 日韩,欧美,国产一区二区三区| 久久影院123| 国产又色又爽无遮挡免| 国产视频首页在线观看| 日日摸夜夜添夜夜添av毛片| 免费大片18禁| 国产成人一区二区在线| 亚洲情色 制服丝袜| 熟女av电影| 亚洲精品国产色婷婷电影| 国产淫语在线视频| 欧美另类一区| 另类亚洲欧美激情| 一级二级三级毛片免费看| av视频免费观看在线观看| 一级片'在线观看视频| av在线app专区| 草草在线视频免费看| 女的被弄到高潮叫床怎么办| 看非洲黑人一级黄片| 亚洲精品456在线播放app| 亚洲av国产av综合av卡| 久久精品国产亚洲网站| 亚洲精品视频女| 人妻少妇偷人精品九色| 天天躁夜夜躁狠狠久久av| 少妇猛男粗大的猛烈进出视频| 欧美+日韩+精品| 99九九线精品视频在线观看视频| 国产探花极品一区二区| 啦啦啦视频在线资源免费观看| 不卡视频在线观看欧美| 视频中文字幕在线观看| 少妇高潮的动态图| 午夜91福利影院| 最近中文字幕2019免费版| 好男人视频免费观看在线| 免费高清在线观看日韩| av电影中文网址| 夜夜看夜夜爽夜夜摸| 人妻人人澡人人爽人人| 午夜福利在线观看免费完整高清在| 高清欧美精品videossex| 国产熟女欧美一区二区| 欧美 亚洲 国产 日韩一| 国产有黄有色有爽视频| 午夜福利影视在线免费观看| 在线天堂最新版资源| 国语对白做爰xxxⅹ性视频网站| 欧美最新免费一区二区三区| 丝袜美足系列| 午夜福利在线观看免费完整高清在| 亚洲欧美清纯卡通| 欧美三级亚洲精品| 中文乱码字字幕精品一区二区三区| 国产熟女欧美一区二区| a级毛片黄视频| 日韩人妻高清精品专区| 性色av一级| 免费观看a级毛片全部| 中文字幕制服av| 少妇人妻 视频| 亚洲精品乱码久久久v下载方式| 亚洲伊人久久精品综合| 一个人免费看片子| 亚洲欧洲日产国产| 麻豆成人av视频| 国产综合精华液| 99国产精品免费福利视频| 视频中文字幕在线观看| 亚洲经典国产精华液单| 日韩免费高清中文字幕av| 国产免费福利视频在线观看| 在线免费观看不下载黄p国产| 只有这里有精品99| 18禁观看日本| 亚洲精品乱久久久久久| 午夜视频国产福利| 国产精品女同一区二区软件| 日韩熟女老妇一区二区性免费视频| 亚洲婷婷狠狠爱综合网| 免费观看av网站的网址| 欧美xxxx性猛交bbbb| 久久久午夜欧美精品| 国产精品一二三区在线看| 日本午夜av视频| 亚洲图色成人| 久久人人爽人人爽人人片va| 久久亚洲国产成人精品v| 黄片播放在线免费| 亚洲经典国产精华液单| 一本一本综合久久| 日产精品乱码卡一卡2卡三| 999精品在线视频| 亚洲欧美成人综合另类久久久| 亚洲国产精品国产精品| 精品午夜福利在线看| 日韩精品免费视频一区二区三区 | 久久国产亚洲av麻豆专区| 欧美日韩综合久久久久久| 亚洲精品国产av成人精品| 交换朋友夫妻互换小说| 国产无遮挡羞羞视频在线观看| 欧美人与性动交α欧美精品济南到 | 一本色道久久久久久精品综合| 大又大粗又爽又黄少妇毛片口| 男女国产视频网站| 91精品三级在线观看| 中文字幕av电影在线播放| 精品国产一区二区三区久久久樱花| 亚洲精品日本国产第一区| freevideosex欧美| 国产爽快片一区二区三区| 亚洲国产精品专区欧美| 在线观看免费视频网站a站| 成人影院久久| 女人久久www免费人成看片| 最近手机中文字幕大全| 亚洲精品视频女| 久热久热在线精品观看| 最近最新中文字幕免费大全7| 亚洲丝袜综合中文字幕| 天美传媒精品一区二区| 欧美最新免费一区二区三区| 欧美日韩av久久| 欧美精品一区二区免费开放| 国产成人免费无遮挡视频| 99久久人妻综合| 制服诱惑二区| 一边摸一边做爽爽视频免费| 在线看a的网站| 我要看黄色一级片免费的| 色94色欧美一区二区| 天美传媒精品一区二区| 在线播放无遮挡| 男女高潮啪啪啪动态图| av专区在线播放| 又粗又硬又长又爽又黄的视频| videos熟女内射| 极品人妻少妇av视频| 亚洲av在线观看美女高潮| 99热国产这里只有精品6| 嘟嘟电影网在线观看| 欧美日韩在线观看h| 久久精品久久久久久久性| 日韩av不卡免费在线播放| 国产精品嫩草影院av在线观看| 国产精品久久久久久久电影| 成人无遮挡网站| 亚洲av二区三区四区| 中文字幕av电影在线播放| 免费大片黄手机在线观看| 久久久久久久精品精品| 精品少妇黑人巨大在线播放| 国产在视频线精品| 日韩av不卡免费在线播放| 18禁动态无遮挡网站| 日韩三级伦理在线观看| 麻豆成人av视频| 日韩欧美精品免费久久| 亚洲精品自拍成人| 亚洲精品乱码久久久v下载方式| 久久久国产一区二区| 99re6热这里在线精品视频| 18禁在线无遮挡免费观看视频| 欧美精品一区二区大全| 中文字幕亚洲精品专区| 国产一区亚洲一区在线观看| 亚洲,欧美,日韩| 插阴视频在线观看视频| 免费人妻精品一区二区三区视频| 亚洲少妇的诱惑av| 免费av中文字幕在线| 欧美日本中文国产一区发布| 亚洲精品日本国产第一区| 91aial.com中文字幕在线观看| 亚洲精品一区蜜桃| 狂野欧美激情性xxxx在线观看| 国产免费现黄频在线看| 日韩 亚洲 欧美在线| 久久久久精品久久久久真实原创| 亚洲精品久久成人aⅴ小说 | 成人午夜精彩视频在线观看| 日日爽夜夜爽网站| 交换朋友夫妻互换小说| 中文字幕免费在线视频6| 日韩av免费高清视频| 欧美激情极品国产一区二区三区 | 国产精品人妻久久久久久| 国产精品久久久久久av不卡| 天天操日日干夜夜撸| 欧美日韩亚洲高清精品| 少妇的逼好多水| 免费大片黄手机在线观看| 国产老妇伦熟女老妇高清| 69精品国产乱码久久久| 日韩精品免费视频一区二区三区 | 国产老妇伦熟女老妇高清| 一区在线观看完整版| 免费少妇av软件| 亚洲精品久久午夜乱码| 久久99一区二区三区| 超碰97精品在线观看| 最近最新中文字幕免费大全7| 日日摸夜夜添夜夜添av毛片| 亚洲欧美清纯卡通| 午夜av观看不卡| 一个人免费看片子| 天美传媒精品一区二区| 人妻夜夜爽99麻豆av| 嘟嘟电影网在线观看| 大片电影免费在线观看免费| 亚洲国产日韩一区二区| 五月天丁香电影| 哪个播放器可以免费观看大片| 欧美97在线视频| 免费观看性生交大片5| 国产成人精品无人区| 纯流量卡能插随身wifi吗| 午夜激情久久久久久久| 国产精品.久久久| 国产精品一区www在线观看| 搡女人真爽免费视频火全软件| 99久久精品一区二区三区| 99久久综合免费| 国产极品天堂在线| 中文字幕人妻熟人妻熟丝袜美| 久久综合国产亚洲精品| 久久99一区二区三区| 久久久久久久国产电影| 激情五月婷婷亚洲| 黑丝袜美女国产一区| 日本黄色片子视频| 欧美精品国产亚洲| 性高湖久久久久久久久免费观看| 在线免费观看不下载黄p国产| 亚洲av.av天堂| 麻豆成人av视频| 国产片特级美女逼逼视频| 国产一区二区在线观看日韩| 欧美变态另类bdsm刘玥| 国产在视频线精品| 婷婷色综合大香蕉| 赤兔流量卡办理| 日韩免费高清中文字幕av| 日本色播在线视频| 久久久精品免费免费高清| 嫩草影院入口| av播播在线观看一区| 亚洲三级黄色毛片| 亚洲高清免费不卡视频| 中文欧美无线码| 国产淫语在线视频| 精品国产国语对白av| av在线观看视频网站免费| 精品久久久噜噜| 午夜福利视频精品| 一区二区三区精品91| 亚洲av成人精品一区久久| av国产精品久久久久影院| 男女边摸边吃奶| 国产高清三级在线| 一二三四中文在线观看免费高清| 日韩一本色道免费dvd| 午夜福利视频在线观看免费| 人人妻人人添人人爽欧美一区卜| av网站免费在线观看视频| 97在线人人人人妻| 国产黄片视频在线免费观看| 亚洲精品乱码久久久久久按摩| av在线老鸭窝| 91精品国产国语对白视频| 免费人妻精品一区二区三区视频| 成人综合一区亚洲| 毛片一级片免费看久久久久| 在线观看免费日韩欧美大片 | 免费观看性生交大片5| 亚洲精品自拍成人| 国产成人精品一,二区| 亚洲成人手机|