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

簡述Hibernate的復合查詢

開發 后端
Hibernate復合查詢主要是處理,具有關聯關系的兩個實體怎樣進行關聯查詢,比如User實體對象與Addres實體對象具有一對多的關聯關系。

Hibernate復合查詢主要是處理,具有關聯關系的兩個實體怎樣進行關聯查詢,比如User實體對象與Addres實體對象具有一對多的關聯關系。
 
Hibernate復合查詢相關:
1. Hibernate
2.Hibernate QBC查詢
QBC查詢:
QBC查詢就是通過使用Hibernate提供的Query By Criteria API來查詢對象,這種API封裝了SQL語句的動態拼裝,對查詢提供了更加面向對象的功能接口。我們看下面的示例程序:

  1. Criteria criteria=session.createCriteria(User.class);  
  2. criteria.add(Expression.eq(“name”,”zx”));  
  3. criteria.add(Expression.eq(“age”,new Integer(27));  
  4. List list=criteria.list(); 

當執行criteria.list()時會生成類似這樣的SQL語句:Select * from user where name=’zx’ and age=27;所以在這里我們可以看出,Criteria實際上是一個查詢容器,它對查詢條件表達式的添加進行了封裝,具體的查詢條件是通過add()方法添加的,而且具體的查詢條件的表達式運算是通過Expression指定的。Hibernate在運行期會根據Criteria指定的表達式條件來添加查詢條件,并且生成查詢語句。這種方式非常符合Java以及所有面向對象編程語言的編程方式,所以大多數的持久層框架都提供了對這種方式查詢的支持。下面我們講解這種查詢方式的各個技術細節。

1、Criteria查詢表達式:

正如我們所見,Expression對查詢語句的表達式進行了封裝和限制,下表列出了Expression所有的方法,以及每個方法所對應的查詢表達式及其限制。

方法

描述

Expression.eq

對應SQL“field=value”表達式

如:Expression.eq(“name”,”zx”);

Expression.allEq

方法的參數為一個Map類型對象,包含多個名/值對對應關系,相當于多個Expression.eq的疊加

Expression.gt

對應SQL“field>value”表達式

Expression.ge

對應SQL“field>=value”表達式

Expression.lt

對應SQL“field”表達式

Expression.le

對應SQL“field<=value”表達式

Expression.between

對應SQL語句的between表達式,如:查詢年齡在2127歲之間的用戶,可以寫成Expression.between(“age”,new Integer(21),new Integer(27));

Expression.like

對應SQL語句的”field like value”表達式

Expression.in

對應SQL語句的“field in(……)”表達式

Expression.eqProperty

用于比較兩個屬性值,對應”field=field”SQL表達式

Expression.gtProperty

用于比較兩個屬性值,對應”field>field”SQL表達式

Expression.geProperty

用于比較兩個屬性值,對應”field>=field”SQL表達式

Expression.ltProperty

用于比較兩個屬性值,對應”field表達式

Expression.leProperty

用于比較兩個屬性值,對應”field<=field”SQL表達式

Expression.and

對應SQL語句的And關系組合,如:Expression.and(Expression.eq(“name”,”zx”),Expression.eq(“sex”,”1”));

Expression.or

對應SQL語句的Or關系組合,如:Expression.or(Expression.eq(“name”,”zx”),Expression.eq(“name”,”zhaoxin”));

Expression.sql

作為補充這個方法提供了原生SQL語句查詢的支持,在執行時直接通過原生SQL語句進行限定,如:Expression.sql(“lower({alias}.name) like (?)”,“zhao%”,Hibernate.STRING) ;在運行時{ alias }將會由當前查詢所關聯的實體類名替換,()中的?將會由”zhao%”替換,并且類型由Hibernate.STRING指定。

注意:Expression各方法中的屬性參數(各方法中的***個參數)所指定的屬性名稱(如:name,sex),并不是數據庫表中的實際字段名稱,而是實體對象中映射實際數據表字段的類屬性名稱。
 
2、示例查詢:
示例查詢是通過Example類來完成的,Example類實現了Criterion接口,可以用作Criteria查詢條件,Example類的作用是:根據已有對象,查詢屬性值與之相同的其他對象。如下代碼所示:

  1. Criteria criteria=session.createCriteria(User.class);  
  2. User exampleuser=new User(“zx”);  
  3. criteria.add(Example.create(exampleuser));  
  4. List list=criteria.list();  
  5. for(int i=0;i   
  6.    User user=(User)list.get(i);  
  7.    System.out.println(user.getName()+”\n”);  
  8. }  

在Hibernate中隊示例查詢,默認情況下會排除掉示例對象中屬性值為空的屬性,還可以調用Example.excludeNone(排除空串值)/excludeZeros(排除零值),或者調用Example.excludeProperty方法來指定排除特定屬性。示例查詢主要應用于組合查詢中,比如根據用戶輸入的查詢條件動態生成最終的查詢語句,通過使用示例查詢,可以避免由于查詢條件過多而寫的大量if判斷語句。

3、復合查詢:
復合查詢主要是處理,具有關聯關系的兩個實體怎樣進行關聯查詢,比如User實體對象與Addres實體對象具有一對多的關聯關系,我們可以如下構造符合查詢:

  1. Criteria criteria=session.createCriteria(User.class);  
  2.    Criteria addcriteria=criteria.createCriteria(“addresses”);(1)  
  3.    addcriteria.add(Express.like(“address”,”%tianjin%”));  
  4.   List list=criteria.list();  
  5.    for(int i=0;i   
  6.      User user=(User)list.get(i);  
  7.      System.out.println(user.getName()+”\n”);  
  8.      Set addresses=user.getAddresses();  
  9.      Iterator it=addresses.iterator();  
  10.      while(it.hasNext(){  
  11.       Address address=(Address)it.next();  
  12.       System.out.println(address.getAddress()+”\n”);  
  13.      }  
  14.    }  

當執行到了(1)處時,表明要針對User對象的addresses屬性添加新的查詢條件,因此當執行criteria.list()時,Hibernate會生成類似如下的SQL語句:
Select * from user inner join address on user.id=address.id where address.address like ‘%shanghai%’;
正如我們所見,我們可以通過向Criteria中添加保存關聯對象的集合屬性(addresses屬性保存與User對象相關聯的Address對象),來構造復合查詢,在數據庫一端是通過內連接查詢來實現。
 
4、Criteria的高級特性:
A、限定返回記錄條數:
 我們可以通過利用Criteria.setFirstResult/setMaxResult方法來限定返回某一次查詢的記錄數,如下代碼:

  1. Criteria criteria=session.createCriteria(User.class);  
  2. criteria.setFirstResult(100);  
  3. criteria.setMaxResult(200);  

通過以上代碼可以設定該次查詢返回user表中的從第100條記錄開始直到第200條記錄結束的100條記錄。
B、對查詢結果進行排序:
可通過使用net.sf.hibernate.expression.Order類可以對查詢結果集進行排序,如下面代碼:

  1. Criteria criteria=session.createCriteria(User.class);  
  2. criteria.add(Expression.eq(“groupid”,”2”);  
  3. criteria.addOrder(Order.asc(“name”));  
  4. criteria.addOrder(Order.desc(“groupid”));  
  5. List list=criteria.list();  

通過使用Order類的asc()/desc()方法,可以指定針對某個字段的排序邏輯,如果執行上述代碼,會生成類似如下的SQL語句:

  1. Select * from user where groupid=’2’ order by name asc,groupid desc 

C、分組與統計:
在Hibernate3中,對Criteria又增添了新功能,可以支持分組與統計功能,在Hibernate3中增加了Projections以及ProjectionList類,這兩個類對分組與統計功能進行了封裝,如下代碼:

  1. Criteria criteria=session.createCriteria(User.class);  
  2. criteria.setProjection(Projections.groupProperty(“age”));(1)  
  3. List list=criteria.list();  
  4. Iterator it=list.iterator();  
  5. while(it.hasNext()){  
  6.  System.out.println(it.next());  
  7. }  

通過(1)處的代碼,我們通過Projections類指定了用于分組的目標屬性,當進行檢索時Hibernate會生成類似如下的SQL語句:

  1. Select age from user group by age;  

還可以通過使用Projections的avg()/rowCount()/count()/max()/min()/countDistinct()等方法來實現統計功能,如下面的代碼示例:

  1. Criteria criteria=session.createCriteria(User.class);  
  2. criteria.setProjection(Projections.avg(“age”));(1)  
  3. List list=criteria.list();  
  4. Iterator it=list.iterator();  
  5. while(it.hasNext()){  
  6.  System.out.println(it.next());  
  7. }  

通過(1)處的代碼,我們實現了對用戶平均年齡的統計,當進行檢索時,Hibernate會生成類似如下的SQL語句:

  1. Select avg(age) from user; 

另外,在SQL語句中的多條件分組與統計功能,可以利用ProjectionList類來實現,如下面代碼所示:

  1. Criteria criteria=session.createCriteria(User.class);  
  2. ProjectionList prolist=Projections.projectionList();  
  3. prolist.add(Projections.groupProperty(“age”));  
  4. prolist.add(Projections.rowCount());  
  5. criteria.setProjection(prolist);  
  6. List list=criteria.list();  

通過以上代碼,實現了對不同年齡人員數量的分組統計,當進行檢索時,Hibernate會生成類似如下的SQL語句:

  1. Select age,count(*) from user group by age;  

5、DetachedCriteria:
在Hibernate2中,Criteria實例是與創建它的Session實例具有相同的生命周期的,也就是說,Session實例是它所創建的Criteria實例的宿主,當Session關閉時,寄生于Session實例的Criteria都將失效。這就對Criteria的重用造成了困難,為了實現Criteria實例的重用,在Hibernate3中提供了一個DetachedCriteria類,DetachedCriteria實例的生命周期與Session實例的生命周期無關,我們可以利用DetachedCriteria對一些常用的Criteria查詢條件進行抽離,當需要進行檢索時再與Session實例關聯,從而獲得運行期的Criteria實例。如下面的代碼所示:

  1. DetachedCriteria dcDetachedCriteria.forClass(User.class);  
  2.    dc.add(Expression.eq(“name”,”zhaoxin”));  
  3.    dc.add(Expression.eq(“sex”,”1”));  
  4.    Criteria criteria=dc.getExecutableCriteria(session);  
  5.    Iterator it=criteria.list().iterator();  
  6.    while(it.hasNext()){  
  7.      User user=(User)it.next();  
  8.      System.out.println(user.getName());  
  9.    }  

正如我們所見,DetachedCriteria的生存周期與session實例無關,當需要進行檢索時,通過getExecutableCriteria(session)方法,與當前的Session實例關聯并獲得運行期的Criteria實例,完成檢索。
DetachedCriteria也可以用于完成子查詢功能,如下代碼所示:

  1. DetachedCriteria dcDetachedCriteria.forClass(User.class);  
  2. dc.setProjection(Projections.avg(“age”));  
  3. Criteria criteria=session.createCriteria(User.class);  
  4. criteria.add(Subqueries.propertyGt(“age”,dc));  
  5. List list=criteria.list();  

通過Subqueries類,實現了添加子查詢的功能,我們將DetachedCriteria所設定的查詢條件,當作子查詢添加到了運行時Criteria實例的查詢條件中,當執行檢索時Hibernate會生成類似如下的SQL語句:

【編輯推薦】

  1. 生成Hibernate Mapping文件的分析
  2. 對Hibernate中get()與load()不同點分析
  3. Struts-Spring-Hibernate案例
  4. 簡述Hibernate配置連接池
  5. 對Hibernate中get()與load()不同點分析
責任編輯:仲衡 來源: blogjava
相關推薦

2009-09-24 10:35:10

Hibernate查詢

2009-09-24 10:15:37

Hibernate查詢

2009-09-24 11:17:32

Hibernate查詢

2009-09-25 16:57:49

Hibernate查詢

2009-09-29 16:41:58

Hibernate S

2012-02-03 10:07:04

HibernateJava

2009-09-29 17:22:30

Hibernate S

2009-09-25 12:31:13

Hibernate映射

2009-09-28 13:45:59

Hibernate歷史

2009-09-29 15:58:22

Hibernate映射

2009-09-28 11:12:52

Hibernate O

2009-09-29 10:37:29

Hibernate持久

2011-03-24 11:37:41

Hibernate

2009-09-25 14:04:09

Hibernate eHibernate h

2009-09-22 16:04:50

Hibernate連接

2009-06-01 12:11:31

hibernatejpa復合主鍵

2009-06-26 10:01:00

Hibernate的查

2009-09-23 15:25:08

Hibernate 3

2009-09-24 17:28:29

Hibernate S

2009-09-29 09:44:52

Hibernate事務
點贊
收藏

51CTO技術棧公眾號

在线播放蜜桃麻豆| 国产精品毛片一区二区在线看舒淇| 91九色鹿精品国产综合久久香蕉| 亚洲男人电影天堂| 国产一区二区三区色淫影院| 无码人妻精品一区二| 97国产精品| 亚洲国产黄色片| 亚洲成色www.777999| 爆操欧美美女| 久久婷婷久久一区二区三区| 国产美女精品视频免费观看| 国产午夜福利精品| 欧美第十八页| 日韩大陆欧美高清视频区| 天天干天天草天天| av资源在线| 亚洲欧美另类小说视频| 精品久久久久久综合日本| 一区二区视频网| 国产欧美午夜| 欧美成人精品激情在线观看| 精品人妻无码一区二区三区换脸| 国产精品亚洲欧美一级在线| 色八戒一区二区三区| 99久久99久久精品| 超碰国产在线| 91视频免费观看| 91偷拍精品一区二区三区| 波多野结衣激情视频| 在线日韩视频| 欧美噜噜久久久xxx| 91在线无精精品白丝| 凹凸av导航大全精品| 91.com在线观看| 99草草国产熟女视频在线| 高清毛片在线观看| 一区二区三区资源| 亚洲日本精品一区| 可以直接在线观看的av| 不卡一区二区三区四区| 亚洲字幕一区二区| 91影院在线播放| 免费av成人在线| 日韩美女免费观看| 综合激情网五月| 激情视频一区二区三区| 免费不卡欧美自拍视频| 小泽玛利亚一区| 久久久综合色| 日韩亚洲精品电影| 免费一级特黄3大片视频| 九九亚洲视频| 亚洲性线免费观看视频成熟| 美女洗澡无遮挡| 噜噜噜狠狠夜夜躁精品仙踪林| 精品成人一区二区| 黑人玩弄人妻一区二区三区| 盗摄牛牛av影视一区二区| 日韩欧美高清一区| 少妇熟女视频一区二区三区| 91麻豆精品激情在线观看最新| 欧美一区二区免费| 人妻体体内射精一区二区| 美女精品视频在线| 日韩精品一区在线| 中文字幕永久免费| 国产欧美自拍一区| 日韩成人在线免费观看| 国产aⅴ激情无码久久久无码| 女人av一区| 在线看欧美日韩| 亚洲精品久久久久久国| 欧美激情 亚洲a∨综合| 国模精品一区二区三区色天香| 日韩欧美123区| 在线观看午夜av| 综合亚洲深深色噜噜狠狠网站| 熟女视频一区二区三区| 日韩免费影院| 偷拍亚洲欧洲综合| 国产v亚洲v天堂无码久久久| 欧美韩国日本| 精品捆绑美女sm三区| 极品粉嫩小仙女高潮喷水久久| 国产成人调教视频在线观看| xxx一区二区| 中文字幕第28页| 狂野欧美一区| 91在线精品观看| 色哟哟在线观看| 国产精品色婷婷| 大胆欧美熟妇xx| 在线日韩影院| 91麻豆精品国产综合久久久久久| 国产乱国产乱老熟300部视频| 网红女主播少妇精品视频| 日韩在线欧美在线国产在线| 国产午夜精品无码一区二区| 日韩精品一二三| 亚洲自拍偷拍网址| 国产中文在线视频| 夜夜操天天操亚洲| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 日韩国产91| 精品网站999www| 欧美 日韩 国产 一区二区三区| 中文欧美日韩| 亚洲综合av影视| 最新电影电视剧在线观看免费观看| 亚洲免费观看高清完整| 亚洲黄色a v| 老汉色老汉首页av亚洲| 成人444kkkk在线观看| jizz国产在线观看| 盗摄精品av一区二区三区| 亚洲精品成人久久久998| 草草影院在线| 91精品国产一区二区三区蜜臀 | 成人精品高清在线视频| 欧美mv日韩mv国产| 手机在线免费看毛片| 丝袜诱惑制服诱惑色一区在线观看| 99视频国产精品免费观看| 香港伦理在线| 91福利视频久久久久| 中文字幕精品久久久| 午夜精品婷婷| 91九色精品视频| 阿v免费在线观看| 色偷偷88欧美精品久久久| 性农村xxxxx小树林| 亚洲精品成人影院| 国产日韩欧美在线| www.视频在线.com| 色婷婷狠狠综合| 特级西西人体4444xxxx| 亚洲精华国产欧美| 国产精品对白一区二区三区| 亚洲性图自拍| 日韩欧美成人激情| www.超碰在线观看| 国产高清久久久久| 国产精品视频网站在线观看| 高清不卡一区| 欧美裸体xxxx极品少妇| 999国产精品视频免费| 亚洲欧洲精品天堂一级| 久久国产激情视频| 国产精品久久久久久| 国产欧美精品xxxx另类| 免费a级人成a大片在线观看| 欧美日韩国产一级片| 老司机深夜福利网站| 久久国产精品无码网站| 自拍偷拍亚洲色图欧美| 成人豆花视频| 欧美日本国产在线| www.黄色一片| 亚洲成人免费看| 成人性生活免费看| 午夜综合激情| 午夜精品区一区二区三| 亚洲免费一区| 欧美大片在线影院| 亚州男人的天堂| 色婷婷av一区二区三区软件| 国产亚洲精品精品精品| 黑人精品欧美一区二区蜜桃| 日本一道在线观看| 欧美黑白配在线| 国产精品久久久久久久一区探花| 尤物视频在线免费观看| 日韩欧美在线不卡| 欧美日韩三级在线观看| av在线不卡免费看| 手机看片福利日韩| 国产精品99免费看| 欧美精品一区二区三区在线看午夜 | 亚洲手机成人高清视频| jjzz黄色片| 天堂成人国产精品一区| 中文字幕欧美日韩一区二区三区| 亚洲国产高清在线观看| 91av在线免费观看视频| yw在线观看| 精品成人一区二区三区| 天堂免费在线视频| 一区二区不卡在线视频 午夜欧美不卡在| 中文字幕天堂网| 日韩黄色免费网站| 天天做天天躁天天躁| 久久99国产精品视频| 91九色视频在线| 亚洲最大成人| 欧美久久久精品| 精品av中文字幕在线毛片| 91精品国产综合久久久久久漫画| 日韩成人免费观看| 亚洲三级在线看| 免费人成又黄又爽又色| 成人性生交大合| www.久久久精品| 中文亚洲免费| 日本阿v视频在线观看| 欧美日韩激情| 久久av免费观看| 精品一区二区三区中文字幕在线| 日本精品性网站在线观看| 最新黄网在线观看| 在线观看欧美成人| 五月婷婷深深爱| 欧美一级视频精品观看| 瑟瑟视频在线免费观看| 精品久久香蕉国产线看观看亚洲| 最新一区二区三区| 国产无人区一区二区三区| 成人免费看片载| 国产麻豆精品视频| 一女二男3p波多野结衣| 日韩国产高清影视| 欧美性大战久久久久xxx| 极品少妇一区二区三区| 免费观看黄色大片| 爽成人777777婷婷| 欧美日韩综合久久| 日韩精品丝袜美腿| 国产综合 伊人色| 亚洲日本视频在线| 成人在线免费观看视视频| 丰满少妇一区| 国产精品成人一区| 午夜欧美巨大性欧美巨大| 91国产高清在线| 91福利在线免费| 久久免费观看视频| 日本天码aⅴ片在线电影网站| www.欧美精品一二三区| 亚洲精品传媒| 日韩在线观看你懂的| 在线日本视频| 这里只有精品在线观看| а天堂8中文最新版在线官网| 亚洲小视频在线| 91福利在线视频| 中文字幕亚洲色图| 日韩毛片久久久| 久久精品久久久久久| 久操视频在线免费播放| 日韩一区在线视频| sm国产在线调教视频| 久久色免费在线视频| 黄色网页在线免费观看| 久久不射电影网| 国产偷倩在线播放| 97视频在线看| 黑人巨大亚洲一区二区久| 欧美在线观看网址综合| 欧美成人a交片免费看| 国产精品成人一区| 欧洲精品久久久久毛片完整版| 国产日韩中文字幕| 亚洲国产一区二区三区网站| 国产精品初高中精品久久| 欧美亚洲国产日韩| 日韩在线导航| 亚洲色图欧美| 免费看国产一级片| 日韩国产成人精品| 韩国三级丰满少妇高潮| 99在线热播精品免费| 美女100%无挡| 亚洲婷婷在线视频| 亚洲国产成人精品激情在线| 日本高清免费不卡视频| 国产一区二区麻豆| 精品国产乱码久久久久久牛牛| 三区在线视频| 播播国产欧美激情| 涩涩视频在线| 国产在线观看一区二区三区| 99国产精品免费网站| 青青成人在线| 欧美久久一级| 妞干网在线免费视频| 国产一区91精品张津瑜| av网站有哪些| 亚洲人吸女人奶水| 黄色片网站在线免费观看| 欧美日本国产视频| 无码国产精品一区二区色情男同| 亚洲一二在线观看| 999精品网| 国产中文字幕91| 美女一区二区在线观看| 一区二区在线观看网站| 国产模特精品视频久久久久| 免费黄频在线观看| www国产亚洲精品久久麻豆| 男人在线观看视频| 色综合久久88色综合天天免费| 国产偷人妻精品一区二区在线| 亚洲色图激情小说| 福利小视频在线| 成人国产精品久久久| 最新精品国偷自产在线| 亚洲一区 在线播放| 日本不卡视频在线观看| 怡红院一区二区| 日韩一区在线看| 欧美a视频在线观看| 欧美成人a∨高清免费观看| 在线看的av网站| 日本精品一区二区三区在线播放视频| 亚洲国产欧美国产第一区| 亚洲精品不卡| 日韩成人dvd| 亚洲熟妇无码av| 午夜视黄欧洲亚洲| 国产黄色大片网站| 久久精品一偷一偷国产| 亚洲综合av一区二区三区| 久久99精品久久久久久三级| 欧美日韩亚洲一区二区三区在线| 91视频这里只有精品| 中文字幕av一区二区三区高| 日本高清不卡码| 国产视频精品自拍| av中文字幕在线观看第一页| 99久久无色码| 欧美暴力喷水在线| 下面一进一出好爽视频| 椎名由奈av一区二区三区| 在线观看国产黄| 中文字幕欧美日韩va免费视频| 日本成人伦理电影| 欧美精品v日韩精品v国产精品| 亚洲专区一区| aaaaa一级片| 日韩欧美亚洲成人| 视频一区二区三区在线看免费看| 久久久噜噜噜久久| 国产日韩三级| 女人天堂av手机在线| 91在线视频免费观看| 日韩成人av毛片| 亚洲国产精品999| 中文字幕乱码在线播放| 欧美专区一二三| 日韩av在线播放中文字幕| 亚洲第一视频区| 欧美乱妇一区二区三区不卡视频| 欧美一级二级三级区| 成人国产精品一区| 亚洲天天影视网| 亚洲av熟女高潮一区二区| 午夜婷婷国产麻豆精品| 亚洲色图欧美视频| 国产成人精品免高潮在线观看 | 91丨九色丨国产丨porny| 久草视频在线观| 亚洲日本中文字幕| 国产激情久久| 国产91porn| 26uuu亚洲综合色| 中文字幕理论片| 久久这里有精品视频| 亚洲一区二区免费在线观看| 久艹视频在线免费观看| 91老师片黄在线观看| 中文字幕日本视频| 美女视频黄免费的亚洲男人天堂| 国产乱人伦丫前精品视频| 成人一级片网站| 中文字幕中文在线不卡住| 精品人妻一区二区三区蜜桃| 久久久天堂国产精品女人| 九九热线有精品视频99| 伊人成人免费视频| 天涯成人国产亚洲精品一区av| 精品av中文字幕在线毛片 | 日本美女高潮视频| 亚洲欧美偷拍卡通变态| 天天综合天天综合| 国产日韩av在线| 国产日韩一区二区三区在线| 国产又粗又长又硬| 亚洲国产成人精品电影| 国产成人精品一区二区三区在线| 久久久99精品视频| 国产日韩影视精品| 亚洲第一页在线观看| 国产成人精品免高潮在线观看| 欧美日韩三级电影在线| 国产精成人品免费观看| 精品剧情v国产在线观看在线| 日本成人伦理电影| 欧美极品欧美精品欧美| 亚洲视频香蕉人妖| 亚洲日本香蕉视频|