精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試官:請講一下MyBatis是如何關聯(lián)關系?

開發(fā) 前端
實際的開發(fā)中,對數(shù)據(jù)庫的操作常常會涉及到多張表,這在面向對象中就涉及到了對象與對象之間的關聯(lián)關系。針對多表之間的操作,MyBatis提供了關聯(lián)映射,通過關聯(lián)映射就可以很好的處理對象與對象之間的關聯(lián)關系。

[[433880]]

文末本文轉載自微信公眾號「程序員千羽」,作者程序員千羽。轉載本文請聯(lián)系程序員千羽公眾號。

“GitHub:https://github.com/nateshao/ssm/tree/master/115-mybatis-associated-one-many

1. 關聯(lián)關系概述

為什么學習MyBatis關聯(lián)關系?

“實際的開發(fā)中,對數(shù)據(jù)庫的操作常常會涉及到多張表,這在面向對象中就涉及到了對象與對象之間的關聯(lián)關系。針對多表之間的操作,MyBatis提供了關聯(lián)映射,通過關聯(lián)映射就可以很好的處理對象與對象之間的關聯(lián)關系。所以,,這里將對MyBatis的關聯(lián)關系映射進行詳細的講解。

在關系型數(shù)據(jù)庫中,多表之間存在著三種關聯(lián)關系,分別為一對一、一對多和多對多,如下圖所示:

一對一:在任意一方引入對方主鍵作為外鍵;

一對多:在“多”的一方,添加“一”的一方的主鍵作為外鍵;

多對多:產(chǎn)生中間關系表,引入兩張表的主鍵作為外鍵,兩個主鍵成為聯(lián)合主鍵或使用新的字段作為主鍵。

在Java中,通過對象也可以進行關聯(lián)關系描述,如圖下圖所示:

2. 一對一

在現(xiàn)實生活中,一對一關聯(lián)關系是十分常見的。例如,一個人只能有一個身份證,同時一個身份證也只會對應一個人。

那么使用MyBatis是怎么處理圖中的這種一對一關聯(lián)關系的呢?

在前面所講解的< resultMap >元素中,包含了一個< association >子元素,MyBatis就是通過該元素來處理一對一關聯(lián)關系的。

在< association >元素中,通??梢耘渲靡韵聦傩?

property:指定映射到的實體類對象屬性,與表字段一 一對應

column:指定表中對應的字段

javaType:指定映射到實體對象屬性的類型

select:指定引入嵌套查詢的子SQL語句,該屬性用于關聯(lián)映射中的嵌套查詢

fetchType:指定在關聯(lián)查詢時是否啟用延遲加載。該屬性有l(wèi)azy和eager兩個屬性值,默認值為lazy(即默認關聯(lián)映射延遲加載)

MyBatis加載關聯(lián)關系對象主要通過兩種方式:嵌套查詢和嵌套結果。

第一種: 嵌套查詢是通過執(zhí)行另外一條SQL映射語句來返回預期的復雜類型。

  • 嵌套查詢是在查詢SQL中嵌入一個子查詢SQL;
  • 嵌套查詢會執(zhí)行多條SQL語句;
  • 嵌套查詢SQL語句編寫較為簡單;

第二種: 嵌套結果是使用嵌套結果映射來處理重復的聯(lián)合結果的子集。

  • 嵌套結果是一個嵌套的多表查詢SQL;
  • 嵌套結果只會執(zhí)行一條復雜的SQL語句;
  • 嵌套結果SQL語句編寫比較復雜;

“雖然使用嵌套查詢的方式比較簡單,但是嵌套查詢的方式要執(zhí)行多條SQL語句,這對于大型數(shù)據(jù)集合和列表展示不是很好,因為這樣可能會導致成百上千條關聯(lián)的SQL語句被執(zhí)行,從而極大的消耗數(shù)據(jù)庫性能并且會降低查詢效率。

多學一招:MyBatis延遲加載的配置

使用MyBatis的延遲加載在一定程度上可以降低運行消耗并提高查詢效率。MyBatis默認沒有開啟延遲加載,需要在核心配置文件中的< settings >元素內(nèi)進行配置,具體配置方式如下:

  1. <settings> 
  2.           <setting name="lazyLoadingEnabled" value="true" />   
  3.           <setting name="aggressiveLazyLoading" value="false"/>   
  4.   </settings> 

在映射文件中,< association > 元素和< collection > 元素中都已默認配置了延遲加載屬性,即默認屬性fetchType="lazy"(屬性fetchType="eager"表示立即加載),所以在配置文件中開啟延遲加載后,無需在映射文件中再做配置。

使用< association >元素進行一對一關聯(lián)映射非常簡單,只需要參考如下兩種示例配置即可。

代碼實現(xiàn):

  1. 第一種: 
  2. <!-- 嵌套查詢:通過執(zhí)行另外一條SQL映射語句來返回預期的特殊類型 --> 
  3.     <select id="findPersonById" parameterType="Integer" 
  4.             resultMap="IdCardWithPersonResult"
  5.   SELECT * from tb_person where id=#{id} 
  6.  </select
  7.     <resultMap type="Person" id="IdCardWithPersonResult"
  8.         <id property="id" column="id"/> 
  9.         <result property="name" column="name"/> 
  10.         <result property="age" column="age"/> 
  11.         <result property="sex" column="sex"/> 
  12.         <!-- 一對一:association使用select屬性引入另外一條SQL語句 --> 
  13.         <association property="card" column="card_id" javaType="IdCard" 
  14.                      select="com.nateshao.mapper.IdCardMapper.findCodeById"/> 
  15.     </resultMap> 
  16. 第二種: 
  17.     <!-- 嵌套結果:使用嵌套結果映射來處理重復的聯(lián)合結果的子集 --> 
  18.     <select id="findPersonById2" parameterType="Integer" 
  19.             resultMap="IdCardWithPersonResult2"
  20.      SELECT p.*,idcard.code 
  21.      from tb_person p,tb_idcard idcard 
  22.      where p.card_id=idcard.id  
  23.      and p.id= #{id} 
  24.  </select
  25.     <resultMap type="Person" id="IdCardWithPersonResult2"
  26.         <id property="id" column="id"/> 
  27.         <result property="name" column="name"/> 
  28.         <result property="age" column="age"/> 
  29.         <result property="sex" column="sex"/> 
  30.         <association property="card" javaType="IdCard"
  31.             <id property="id" column="card_id"/> 
  32.             <result property="code" column="code"/> 
  33.         </association> 
  34.     </resultMap> 

Person.java

  1. @Data 
  2. public class Person { 
  3.     private Integer id; 
  4.     private String name
  5.     private Integer age; 
  6.     private String sex; 
  7.     private IdCard card;  //個人關聯(lián)的證件 

IdCard.java

  1. @Data 
  2. public class IdCard { 
  3.     private Integer id; 
  4.     private String code; 

3. 一對多

開發(fā)人員接觸更多的關聯(lián)關系是一對多(或多對一)。例如,一個用戶可以有多個訂單,同時多個訂單歸一個用戶所有。

那么使用MyBatis是怎么處理這種一對多關聯(lián)關系的呢?

在前面所講解的< resultMap >元素中,包含了一個< collection >子元素,MyBatis就是通過該元素來處理一對多關聯(lián)關系的。

< collection >子元素的屬性大部分與< association>元素相同,但其還包含一個特殊屬性--ofType 。

ofType:ofType屬性與javaType屬性對應,它用于指定實體對象中集合類屬性所包含的元素類型。

代碼實現(xiàn):

  1. /** 
  2.  * 一對多 
  3.  */ 
  4. @Test 
  5. public void findUserTest() { 
  6.     // 1、通過工具類生成SqlSession對象 
  7.     SqlSession session = MybatisUtils.getSession(); 
  8.     // 2、查詢id為1的用戶信息 
  9.     User user = session.selectOne("com.nateshao.mapper." 
  10.             + "UserMapper.findUserWithOrders", 1); 
  11.     // 3、輸出查詢結果信息 
  12.     System.out.println(user); 
  13.     // 4、關閉SqlSession 
  14.     session.close(); 

UserMapper.xml

  1. <!-- 一對多:查看某一用戶及其關聯(lián)的訂單信息  
  2.       注意:當關聯(lián)查詢出的列名相同,則需要使用別名區(qū)分 --> 
  3. <select id="findUserWithOrders" parameterType="Integer"  
  4.                   resultMap="UserWithOrdersResult"
  5.    SELECT u.*,o.id as orders_id,o.number  
  6.    from tb_user u,tb_orders o  
  7.    WHERE u.id=o.user_id  
  8.         and u.id=#{id} 
  9. </select
  10. <resultMap type="User" id="UserWithOrdersResult"
  11.    <id property="id" column="id"/> 
  12.    <result property="username" column="username"/> 
  13.    <result property="address" column="address"/> 
  14.    <!-- 一對多關聯(lián)映射:collection  
  15.       ofType表示屬性集合中元素的類型,List<Orders>屬性即Orders類 --> 
  16.    <collection property="ordersList" ofType="Orders"
  17.       <id property="id" column="orders_id"/> 
  18.       <result property="number" column="number"/> 
  19.    </collection> 
  20. </resultMap> 

User.java

  1. @Data 
  2. public class User { 
  3.     private Integer id;                 // 用戶編號 
  4.     private String username;           // 用戶姓名 
  5.     private String address;            // 用戶地址 
  6.     private List<Orders> ordersList; //用戶關聯(lián)的訂單 

Orders.java

  1. @Data 
  2. public class Orders { 
  3.     private Integer id;    //訂單id 
  4.     private String number;//訂單編號 
  5.     //關聯(lián)商品集合信息 
  6.     private List<Product> productList; 
  7.  

運行結果:

  1. User(id=1, username=詹姆斯, address=克利夫蘭, ordersList=[Orders(id=1, number=1000011, productList=null), Orders(id=2, number=1000012, productList=null)]) 

4. 多對多

在實際項目開發(fā)中,多對多的關聯(lián)關系也是非常常見的。以訂單和商品為例,一個訂單可以包含多種商品,而一種商品又可以屬于多個訂單。

在數(shù)據(jù)庫中,多對多的關聯(lián)關系通常使用一個中間表來維護,中間表中的訂單id作為外鍵參照訂單表的id,商品id作為外鍵參照商品表的id。

在MyBatis中,多對多的關聯(lián)關系查詢,同樣可以使用前面介紹的< collection >元素進行處理(其用法和一對多關聯(lián)關系查詢語句用法基本相同)。

MybatisAssociatedTest.java

  1. /** 
  2.  * 多對多 
  3.  */ 
  4. @Test 
  5. public void findOrdersTest() { 
  6.     // 1、通過工具類生成SqlSession對象 
  7.     SqlSession session = MybatisUtils.getSession(); 
  8.     // 2、查詢id為1的訂單中的商品信息 
  9.     Orders orders = session.selectOne("com.nateshao.mapper." 
  10.             + "OrdersMapper.findOrdersWithPorduct", 1); 
  11.     // 3、輸出查詢結果信息 
  12.     System.out.println(orders); 
  13.     // 4、關閉SqlSession 
  14.     session.close(); 

OrdersMapper.xml

  1. <!-- 多對多嵌套結果查詢:查詢某訂單及其關聯(lián)的商品詳情 --> 
  2. <select id="findOrdersWithPorduct2" parameterType="Integer" 
  3.            resultMap="OrdersWithPorductResult2"
  4.     select o.*,p.id as pid,p.name,p.price from tb_orders o,tb_product p,tb_ordersitem  oi WHERE oi.orders_id=o.id and oi.product_id=p.id and o.id=#{id} 
  5. </select
  6.    <!-- 自定義手動映射類型 --> 
  7.    <resultMap type="Orders" id="OrdersWithPorductResult2"
  8.        <id property="id" column="id"/> 
  9.        <result property="number" column="number"/> 
  10.        <!-- 多對多關聯(lián)映射:collection --> 
  11.        <collection property="productList" ofType="Product"
  12.            <id property="id" column="pid"/> 
  13.            <result property="name" column="name"/> 
  14.            <result property="price" column="price"/> 
  15.        </collection> 
  16.    </resultMap> 

Orders.java

  1. @Data 
  2. public class Orders { 
  3.     private Integer id;    //訂單id 
  4.     private String number;//訂單編號 
  5.     //關聯(lián)商品集合信息 
  6.     private List<Product> productList; 

Product.java

  1. @Data 
  2. public class Product { 
  3.     private Integer id;  //商品id 
  4.     private String name; //商品名稱 
  5.     private Double price;//商品單價 
  6.     private List<Orders> orders; //與訂單的關聯(lián)屬性 

總結:

這篇文章首先對開發(fā)中涉及到的數(shù)據(jù)表之間以及對象之間的關聯(lián)關系作了簡要介紹,并由此引出了MyBatis框架中對關聯(lián)關系的處理;

然后通過案例對MyBatis框架處理實體對象之間的三種關聯(lián)關系進行了詳細講解。 

通過本章的學習,我們可以了解數(shù)據(jù)表以及對象中所涉及到的三種關聯(lián)關系,并能夠使用MyBatis框架對三種關聯(lián)關系的查詢進行處理。MyBatis中的關聯(lián)查詢操作在實際開發(fā)中非常普遍,熟練掌握這三種關聯(lián)查詢方式有助于提高項目的開發(fā)效率。

 

責任編輯:武曉燕 來源: 程序員千羽
相關推薦

2023-09-12 14:56:13

MyBatis緩存機制

2025-03-10 07:05:07

2023-03-08 07:46:53

面試官優(yōu)化結構體

2021-07-28 10:08:19

類加載代碼塊面試

2022-06-06 15:33:20

線程Java釋放鎖

2023-02-08 08:32:41

輪詢鎖

2023-02-18 13:34:14

Nacos健康檢查機制

2022-06-07 12:03:33

Java內(nèi)存模型

2021-08-28 09:06:11

Dubbo架構服務

2023-12-29 13:45:00

2024-01-29 10:08:11

零拷貝Zero-copyCPU 拷貝

2024-02-27 15:23:48

RedLock算法Redis

2021-06-02 11:25:18

線程池Java代碼

2024-02-21 16:42:00

2020-07-30 07:58:36

加密算法

2023-01-30 15:39:40

GETHTTP

2025-02-27 00:08:24

2023-02-09 08:48:47

Java虛擬機

2021-11-27 08:13:13

Final 面試

2021-08-13 07:23:15

架構秒殺系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

波多野结衣片子| 少妇一晚三次一区二区三区| 久久精品99北条麻妃| 色综合天天爱| 精品乱人伦一区二区三区| 18岁网站在线观看| 91在线导航| 国产91精品精华液一区二区三区| 7777精品久久久久久| 91ts人妖另类精品系列| 国产精品久久久久av蜜臀| 色婷婷久久久久swag精品| 中文字幕久精品免| 亚洲人妻一区二区三区| 韩国毛片一区二区三区| 日本a级片电影一区二区| 夫妻性生活毛片| 狠狠色狠狠色综合婷婷tag| 日韩欧美亚洲一区二区| wwwwxxxx日韩| 黄视频免费在线看| 最新国产精品久久精品| 欧美一区二区高清在线观看| 亚洲av无码国产综合专区| 日本aⅴ精品一区二区三区 | 精品sm在线观看| mm131国产精品| 欧美电影网站| 精品福利一区二区| 超薄肉色丝袜足j调教99| chinese偷拍一区二区三区| av色综合久久天堂av综合| 亚洲综合日韩在线| 中文字幕人妻一区二区三区视频 | 欧美激情四色| 自拍偷拍亚洲在线| 国产伦理片在线观看| 日本欧美高清| 精品国产精品一区二区夜夜嗨| 欧美一级特黄aaa| 日本黄色一区| 欧美亚洲国产一区二区三区| 波多野结衣家庭教师在线| 爱情岛论坛亚洲品质自拍视频网站| 亚洲人午夜精品天堂一二香蕉| 亚洲精品国产一区| 福利在线午夜| 国产拍欧美日韩视频二区| 久久精品日韩| 日本不卡免费播放| 91啪亚洲精品| 免费一区二区三区| 青青免费在线视频| 97精品视频在线观看自产线路二| 国产精品中出一区二区三区| 亚洲国产综合网| 不卡区在线中文字幕| 国产精品一区二区三区观看| 黄色一级大片在线免费看国产| 99re8这里有精品热视频8在线| 欧美性受xxxx| gogogo高清免费观看在线视频| 本网站久久精品| 欧美日韩精品一区二区三区蜜桃 | 久久精子c满五个校花| 精品视频第一区| 欧美一区二区三区少妇| 久久久久久久久久久久久夜| 欧美在线激情| av网站无病毒在线| 亚洲日韩欧美一区二区在线| 青青草视频在线视频| 欧美aaa免费| 五月激情六月综合| 青青在线视频免费| 亚洲一区二区av| 欧美成人午夜电影| 欧美深性狂猛ⅹxxx深喉| 伊人成综合网yiren22| 一区二区三区视频观看| 精品无码一区二区三区蜜臀| 欧美激情第10页| 97香蕉超级碰碰久久免费的优势| 99久久久久久久久| 久久狠狠亚洲综合| 成人综合色站| 久热av在线| 亚洲欧美视频在线观看视频| 国产二区视频在线| 亚洲爱爱视频| 日韩欧美国产1| 三叶草欧洲码在线| 狠狠综合久久av一区二区蜜桃| 久久综合久中文字幕青草| 日操夜操天天操| 久久99国产精品成人| 国产一区免费视频| 欧美成人性生活视频| 亚洲成人tv网| 欧美日韩一区二区三区69堂| 高清欧美性猛交xxxx黑人猛| 国产亚洲精品91在线| 久久久久亚洲av无码专区体验| 亚洲一区二区三区高清不卡| 91精品视频专区| 免费一级毛片在线观看| 亚洲啪啪综合av一区二区三区| 国产在线精品91| 高清国产一区二区三区四区五区| 日韩国产精品亚洲а∨天堂免| 制服丨自拍丨欧美丨动漫丨| 亚洲一区二区三区高清| 亚洲最大av在线| jzzjzzjzz亚洲成熟少妇| 亚洲国产精品一区二区久久| 日韩欧美国产片| 亚洲动漫在线观看| 欧美激情欧美激情| 91久久精品国产91性色69| 久久综合久久久久88| 国产一区二区四区| 韩国一区二区三区视频| 中文字幕精品久久| 久久久久99精品成人片三人毛片| 国产在线精品国自产拍免费| 午夜午夜精品一区二区三区文| 2021中文字幕在线| 欧美电影精品一区二区| 开心激情五月网| 日韩黄色免费电影| 欧美三级电影在线播放| 91九色国产在线播放| 欧美一级淫片007| 亚洲毛片亚洲毛片亚洲毛片| 美女日韩在线中文字幕| 久久久久久久久一区二区| 日本在线观看大片免费视频| 日韩一级片网址| 538精品在线观看| 国产一区二区三区日韩| 在线观看日本一区| 欧美成人福利| 中文字幕不卡av| 国产美女www| 国产肉丝袜一区二区| 国产精品第12页| 国产麻豆精品久久| 日本一区二区三区四区视频| 免费黄色片在线观看| 欧美性xxxx极品hd满灌| 无码熟妇人妻av| 久久午夜精品| 亚洲成色最大综合在线| 精品福利在线| 北条麻妃99精品青青久久| 国产三区在线播放| 亚洲午夜免费福利视频| 捆绑裸体绳奴bdsm亚洲| 性色一区二区| 色大师av一区二区三区| 韩国理伦片久久电影网| 日韩中文字幕在线看| 国产乱淫片视频| 夜色激情一区二区| xxxwww国产| 亚洲综合精品四区| 日韩电影大全在线观看| 91成人app| 国内精品久久久久久久久| 三级视频网站在线| 欧美午夜精品免费| 天天操天天操天天操天天操天天操| 国产精品自在在线| 成人午夜视频在线观看免费| 免费看日本一区二区| 国产精品入口日韩视频大尺度| 超碰在线无需免费| 亚洲黄色www网站| 成年人视频免费| 亚洲三级小视频| 好吊一区二区三区视频| 蜜桃av一区二区三区| 亚洲五码在线观看视频| 日韩欧美国产大片| 成人网在线免费看| 不卡专区在线| 久久精品国产久精国产一老狼| 国产小视频一区| 欧洲精品在线观看| 五月天丁香激情| 久久久噜噜噜久久中文字幕色伊伊 | 蜜桃av久久久亚洲精品| 国产精品久久久久久吹潮| 欧美猛少妇色xxxxx| 欧美男男同志| 欧美一区二区三区日韩| 无码人妻丰满熟妇奶水区码| 亚洲精品美腿丝袜| 337人体粉嫩噜噜噜| 成人丝袜高跟foot| 亚洲色图 在线视频| 伊人久久大香线蕉av超碰演员| 天堂一区二区三区| 久久香蕉精品香蕉| 成人网在线观看| 欧美理论影院| 国内精品一区二区三区四区| 欧美18hd| 国产一区二区三区直播精品电影| www.天天干.com| 欧美天堂亚洲电影院在线播放| 日韩av黄色片| 亚洲男人天堂av| 在线观看日本中文字幕| eeuss影院一区二区三区 | 国产电影一区| 国产福利精品视频| 国精一区二区三区| 久久久精品国产| 成年人在线视频| 日韩高清a**址| 色呦呦中文字幕| 日韩无一区二区| 国产精品老熟女视频一区二区| 91高清视频免费看| 日韩视频在线观看一区| 亚洲自拍偷拍av| 久久久久久视频| 国产日本亚洲高清| 国产精品无码网站| 成人永久免费视频| 波多野结衣在线免费观看| 蜜臀精品久久久久久蜜臀| 国产a视频免费观看| 亚洲精品美女| 欧美午夜小视频| 亚洲欧洲另类| 国产精品333| 国产欧美日韩一区二区三区在线| 欧美日韩福利在线| 中文字幕一区二区三区乱码图片| 亚洲一卡二卡| 色综合咪咪久久网| 亚洲精品9999| 日韩一区欧美| 在线观看国产一区| 天堂网在线观看国产精品| 亚洲永久一区二区三区在线| 波多野结衣一区| 无遮挡亚洲一区| 日韩欧美精品综合| 一区二区三区四区视频在线观看| 欧美丝袜激情| 国产系列第一页| 欧美a级在线| 免费在线观看视频a| 99热这里只有精品8| 成人免费aaa| 日韩国产欧美在线播放| 免费涩涩18网站入口| 久久国产视频网| 国内自拍第二页| 国产.欧美.日韩| 色天使在线视频| 国产三级精品视频| 在线看的片片片免费| 尤物视频一区二区| 国产性xxxx高清| 在线免费观看日本一区| 一区二区三区日| 日韩免费高清av| 手机亚洲第一页| 中文字幕亚洲一区二区三区五十路| 风间由美一区| 欧美猛交免费看| 正在播放日韩精品| 国产精品视频自在线| 久久久久久爱| 久久国产主播精品| 日韩av密桃| 免费的一级黄色片| 男人的天堂成人在线| 久久久精品高清| 成人精品鲁一区一区二区| 国产成人无码精品久久二区三| 国产精品视频第一区| 久久精品欧美一区二区| 91极品美女在线| 精品国产亚洲一区二区麻豆| 日韩av影院在线观看| 在线观看免费黄色| 久久久人成影片一区二区三区| 日韩av超清在线观看| 91麻豆蜜桃| 国产一区二区三区四区| 日本精品福利视频| 丝袜诱惑制服诱惑色一区在线观看| 亚洲一级片网站| 99久久夜色精品国产网站| 成人一级片免费看| 天天影视涩香欲综合网 | 国产综合色区在线观看| 亚洲一区二区在线播放| 国产videos久久| 国产欧美久久久久| 久久成人久久爱| 91网站免费入口| 亚洲图片自拍偷拍| 91精品国产乱码久久| 亚洲欧美福利视频| 久久青青色综合| 91九色视频导航| 经典一区二区| 99视频在线免费播放| 国产成人av一区二区三区在线观看| www.99热| 欧美日韩人人澡狠狠躁视频| a级片在线视频| 深夜精品寂寞黄网站在线观看| а√在线中文在线新版| 亚洲aaa激情| 99久久影视| 亚洲欧美国产中文| 国产色一区二区| 999视频在线| 国产午夜精品视频免费不卡69堂| 欧洲黄色一区| 97超级碰碰| 欧美激情四色| 日韩av福利在线观看| 亚洲欧洲日本在线| 中文字幕有码无码人妻av蜜桃| 亚洲视频在线播放| 日韩伦理三区| 久久综合入口| 亚洲精品裸体| 噜噜噜在线视频| 日韩欧美在线免费| 青青草在线免费视频| 8050国产精品久久久久久| 精品淫伦v久久水蜜桃| 日韩精品在线视频免费观看| 国产xxx精品视频大全| 久久免费小视频| 精品av综合导航| 久草在线中文最新视频| 精品一区二区国产| 免费日韩av片| 久久久亚洲av波多野结衣| 日韩欧美在线视频观看| 欧洲毛片在线| 国产精品久久色| 97精品视频在线看| 日韩欧美色视频| 亚洲一区二区三区在线看| 欧美 日韩 国产 成人 在线| 午夜精品久久久久久久男人的天堂 | 欧美另类网站| 老司机午夜免费精品视频| 免费看裸体网站| 欧美一区二区三区播放老司机 | 欧美一级黄色网| 激情五月色综合国产精品| 色悠悠久久综合网| 亚洲人精品午夜| 好男人www在线视频| 26uuu日韩精品一区二区| 国产精品一线天粉嫩av| 91女神在线观看| 亚洲制服丝袜在线| 蜜桃免费在线| 亚洲v日韩v综合v精品v| 亚洲狼人精品一区二区三区| 熟女高潮一区二区三区| 在线不卡a资源高清| 2001个疯子在线观看| 日韩欧美第二区在线观看| 国产中文一区二区三区| 亚洲国产成人精品激情在线| 亚洲天堂av图片| 日韩三级久久| 已婚少妇美妙人妻系列| 亚洲欧美视频在线观看| 日韩欧美亚洲系列| 亚洲tv在线观看| 午夜宅男久久久| 婷婷在线精品视频| 日韩毛片中文字幕| 电影一区二区三区久久免费观看| 99热自拍偷拍| 亚洲乱码国产乱码精品精可以看| 手机在线精品视频| 国产综合久久久久久| 99视频精品| 日韩av手机在线免费观看| 亚洲精品美女久久| av在线播放一区二区| 日韩视频第二页| 亚洲午夜成aⅴ人片| 欧美激情午夜|