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

Hibernate數據庫事務攻略

開發 后端
Hibernate數據庫事務的聲明總是必須的。在Hibernate數據庫事務之外,就無法和數據庫通訊(這可能會讓那些習慣于 自動提交事務模式的開發人員感到迷惑)。

Hibernate數據庫事務有很多值得學習的地方,這里我們主要介紹Hibernate數據庫事務聲明,包括介紹 非托管環境、使用JTA、異常處理等方面。

Hibernate數據庫事務聲明

數據庫(或者系統)事務的聲明總是必須的。在數據庫事務之外,就無法和數據庫通訊(這可能會讓那些習慣于 自動提交事務模式的開發人員感到迷惑)。永遠使用清晰的事務聲明,即使只讀操作也是如此。進行顯式的事務聲明并不總是需要的,這取決于你的事務隔離級別和數據庫的能力,但不管怎么說,聲明事務總歸有益無害。當然,一個單獨的數據庫事務總是比很多瑣碎的事務性能更好,即時對讀數據而言也是一樣。

一個Hibernate應用程序可以運行在非托管環境中(也就是獨立運行的應用程序,簡單Web應用程序, 或者Swing圖形桌面應用程序),也可以運行在托管的J2EE環境中。在一個非托管環境中,Hibernate 通常自己負責管理數據庫連接池。應用程序開發人員必須手工設置事務聲明,換句話說,就是手工啟 動,提交,或者回滾數據庫事務。一個托管的環境通常提供了容器管理事務(CMT),例如事務裝配通過可聲 明的方式定義在EJB session beans的部署描述符中。可編程式事務聲明不再需要,即使是 Session 的同步也可以自動完成。

讓持久層具備可移植性是人們的理想,這種移植發生在非托管的本地資源環境,與依賴JTA但是使用BMT而非CMT的系統之間。在兩種情況下你都可以使用編程式的事務管理。Hibernate提供了一套稱為Transaction的封裝API, 用來把你的部署環境中的本地事務管理系統轉換到Hibernate事務上。這個API是可選的,但是我們強烈 推薦你使用,除非你用CMT session bean。

通常情況下,結束 Session 包含了四個不同的階段:

◆同步session(flush,刷出到磁盤)

◆提交事務

◆關閉session

◆處理異常

session的同步(flush,刷出)前面已經討論過了,我們現在進一步考察在托管和非托管環境下的事務聲明和異常處理。

1.非托管環境

如果Hibernat持久層運行在一個非托管環境中,數據庫連接通常由Hibernate的簡單(即非DataSource)連接池機制 來處理。session/transaction處理方式如下所示:

  1. //Non-managed environment idiom  
  2. Session sess = factory.openSession();  
  3. Transaction tx = null;  
  4. try {  
  5.     tx = sess.beginTransaction();  
  6.  
  7.     // do some work  
  8.     ...  
  9.  
  10.     tx.commit();  
  11. }  
  12. catch (RuntimeException e) {  
  13.     if (tx != null) tx.rollback();  
  14.     throw e; // or display error message  
  15. }  
  16. finally {  
  17.     sess.close();  
  18. }  

你不需要顯式flush() Session - 對commit()的調用會自動觸發session的同步(取決于session的第 10.10 節 “Session刷出(flush)”)。調用 close() 標志session的結束。close()方法重要的暗示是,session釋放了JDBC連接。這段Java代碼在非托管環境下和JTA環境下都可以運行。

更加靈活的方案是Hibernate內置的"current session"上下文管理,前文已經講過:

  1. // Non-managed environment idiom with getCurrentSession()  
  2. try {  
  3.     factory.getCurrentSession().beginTransaction();  
  4.  
  5.     // do some work  
  6.     ...  
  7.  
  8.     factory.getCurrentSession().getTransaction().commit();  
  9. }  
  10. catch (RuntimeException e) {  
  11.     factory.getCurrentSession().getTransaction().rollback();  
  12.     throw e; // or display error message  
  13. }  

你很可能從未在一個通常的應用程序的業務代碼中見過這樣的代碼片斷:致命的(系統)異常應該總是 在應用程序“頂層”被捕獲。換句話說,執行Hibernate調用的代碼(在持久層)和處理 RuntimeException異常的代碼(通常只能清理和退出應用程序)應該在不同 的應用程序邏輯層。Hibernate的當前上下文管理可以極大地簡化這一設計,你所有的一切就是SessionFactory。 異常處理將在本章稍后進行討論。

請注意,你應該選擇 org.hibernate.transaction.JDBCTransactionFactory (這是默認選項),對第二個例子來說,hibernate.current_session_context_class應該是"thread"

2. 使用JTA

如果你的持久層運行在一個應用服務器中(例如,在EJB session beans的后面),Hibernate獲取 的每個數據源連接將自動成為全局JTA事務的一部分。 你可以安裝一個獨立的JTA實現,使用它而不使用EJB。Hibernate提供了兩種策略進行JTA集成。

如果你使用bean管理事務(BMT),可以通過使用Hibernate的 Transaction API來告訴 應用服務器啟動和結束BMT事務。因此,事務管理代碼和在非托管環境下是一樣的。

  1. // BMT idiom  
  2. Session sess = factory.openSession();  
  3. Transaction tx = null;  
  4. try {  
  5.     tx = sess.beginTransaction();  
  6.  
  7.     // do some work  
  8.     ...  
  9.  
  10.     tx.commit();  
  11. }  
  12. catch (RuntimeException e) {  
  13.     if (tx != null) tx.rollback();  
  14.     throw e; // or display error message  
  15. }  
  16. finally {  
  17.     sess.close();  
  18. }  

如果你希望使用與事務綁定的Session,也就是使用getCurrentSession()來簡化上下文管理,你將不得不直接使用JTA UserTransactionAPI。

  1. // BMT idiom with getCurrentSession()  
  2. try {  
  3.     UserTransaction tx = (UserTransaction)new InitialContext()  
  4.                             .lookup("java:comp/UserTransaction");  
  5.  
  6.     tx.begin();  
  7.  
  8.     // Do some work on Session bound to transaction  
  9.     factory.getCurrentSession().load(...);  
  10.     factory.getCurrentSession().persist(...);  
  11.  
  12.     tx.commit();  
  13. }  
  14. catch (RuntimeException e) {  
  15.     tx.rollback();  
  16.     throw e; // or display error message  
  17. }  

在CMT方式下,事務聲明是在session bean的部署描述符中,而不需要編程。 因此,代碼被簡化為:

  1. // CMT idiom  
  2. Session sess = factory.getCurrentSession();  
  3.  
  4. // do some work  
  5. ...  

在CMT/EJB中甚至會自動rollback,因為假若有未捕獲的RuntimeException從session bean方法中拋出,這就會通知容器把全局事務回滾。這就意味著,在BMT或者CMT中,你根本就不需要使用Hibernate Transaction API ,你自動得到了綁定到事務的“當前”Session。

注意,當你配置Hibernate的transaction factory的時候,在直接使用JTA的時候(BMT),你應該選擇org.hibernate.transaction.JTATransactionFactory,在CMT session bean中選擇org.hibernate.transaction.CMTTransactionFactory。記得也要設置hibernate.transaction.manager_lookup_class。還有,確認你的hibernate.current_session_context_class未設置(為了向下兼容),或者設置為"jta"。

getCurrentSession()在JTA環境中有一個弊端。對after_statement連接釋放方式有一個警告,這是被默認使用的。因為JTA規范的一個很愚蠢的限制,Hibernate不可能自動清理任何未關閉的ScrollableResults 或者Iterator,它們是由scroll()或iterate()產生的。你must通過在finally塊中,顯式調用ScrollableResults.close()或者Hibernate.close(Iterator)方法來釋放底層數據庫游標。(當然,大部分程序完全可以很容易的避免在JTA或CMT代碼中出現scroll()或iterate()。)

3. 異常處理

如果 Session 拋出異常 (包括任何SQLException), 你應該立即回滾數據庫事務,調用 Session.close() ,丟棄該 Session實例。Session的某些方法可能會導致session 處于不一致的狀態。所有由Hibernate拋出的異常都視為不可以恢復的。確保在 finally 代碼塊中調用close()方法,以關閉掉 Session。

HibernateException是一個非檢查期異常(這不同于Hibernate老的版本), 它封裝了Hibernate持久層可能出現的大多數錯誤。我們的觀點是,不應該強迫應用程序開發人員 在底層捕獲無法恢復的異常。在大多數軟件系統中,非檢查期異常和致命異常都是在相應方法調用 的堆棧的頂層被處理的(也就是說,在軟件上面的邏輯層),并且提供一個錯誤信息給應用軟件的用戶 (或者采取其他某些相應的操作)。請注意,Hibernate也有可能拋出其他并不屬于 HibernateException的非檢查期異常。這些異常同樣也是無法恢復的,應該 采取某些相應的操作去處理。

在和數據庫進行交互時,Hibernate把捕獲的SQLException封裝為Hibernate的 JDBCException。事實上,Hibernate嘗試把異常轉換為更有實際含義 的JDBCException異常的子類。底層的SQLException可以 通過JDBCException.getCause()來得到。Hibernate通過使用關聯到 SessionFactory上的SQLExceptionConverter來 把SQLException轉換為一個對應的JDBCException 異常的子類。默認情況下,SQLExceptionConverter可以通過配置dialect 選項指定;此外,也可以使用用戶自定義的實現類(參考javadocs SQLExceptionConverterFactory類來了解詳情)。標準的 JDBCException子類型是:

◆JDBCConnectionException - 指明底層的JDBC通訊出現錯誤

◆SQLGrammarException - 指明發送的SQL語句的語法或者格式錯誤

◆ConstraintViolationException - 指明某種類型的約束違例錯誤

◆LockAcquisitionException - 指明了在執行請求操作時,獲取 所需的鎖級別時出現的錯誤。

◆GenericJDBCException - 不屬于任何其他種類的原生異常

4. 事務超時

EJB這樣的托管環境有一項極為重要的特性,而它從未在非托管環境中提供過,那就是事務超時。在出現錯誤的事務行為的時候,超時可以確保不會無限掛起資源、對用戶沒有交代。在托管(JTA)環境之外,Hibernate無法完全提供這一功能。但是,Hiberante至少可以控制數據訪問,確保數據庫級別的死鎖,和返回巨大結果集的查詢被限定在一個規定的時間內。在托管環境中,Hibernate會把事務超時轉交給JTA。這一功能通過Hibernate Transaction對象進行抽象。

  1. Session sess = factory.openSession();  
  2. try {  
  3.     //set transaction timeout to 3 seconds  
  4.     sess.getTransaction().setTimeout(3);  
  5.     sess.getTransaction().begin();  
  6.  
  7.     // do some work  
  8.     ...  
  9.  
  10.     sess.getTransaction().commit()  
  11. }  
  12. catch (RuntimeException e) {  
  13.     sess.getTransaction().rollback();  
  14.     throw e; // or display error message  
  15. }  
  16. finally {  
  17.     sess.close();  
  18. }  

注意setTimeout()不應該在CMT bean中調用,此時事務超時值應該是被聲明式定義的。

【編輯推薦】

  1. 淺析Hibernate VO與PO區別
  2. Hibernate中merge()方法解析
  3. Hibernate中Criteria攻略詳解
  4. 簡述Hibernate部分查詢語言(一)
  5. 簡述Hibernate三種查詢的應用
責任編輯:仲衡 來源: diybl
相關推薦

2009-09-25 13:18:15

Hibernate數據

2009-07-02 09:35:02

hibernate訪問

2009-06-24 07:53:47

Hibernate數據

2010-10-08 09:38:55

Android數據庫事

2025-04-08 06:00:00

2009-06-02 14:36:28

HibernateMySQLEclipse

2009-09-28 13:33:48

Hibernate訪問

2009-06-24 07:58:52

Hibernate多數

2015-03-04 13:53:33

MySQL數據庫優化SQL優化

2024-05-28 00:00:30

Golang數據庫

2020-06-17 16:56:36

數據庫MySQL跨行事務

2017-08-22 17:10:45

數據庫MySQL事務模型

2009-09-28 13:29:41

加載過程Hibernate訪問

2024-11-14 11:07:15

2018-09-06 14:53:39

數據庫事務隔離隔離級別

2010-05-31 15:12:44

MySQL數據庫

2011-08-12 13:33:31

Oracle數據庫自治事務

2009-08-06 18:10:06

C#數據庫事務

2018-07-20 11:10:21

數據庫事務隔離性

2023-10-11 08:09:53

事務隔離級別
點贊
收藏

51CTO技術棧公眾號

色欲一区二区三区精品a片| 国产精品青草久久| 亚洲黄色av一区| 亚洲国产毛片完整版| 婷婷精品国产一区二区三区日韩| 精品肉丝脚一区二区三区| 亚洲成人av观看| 成人国产在线观看| 麻豆成人在线看| 欧美大尺度做爰床戏| 水莓100在线视频| 精品一区二区三区在线观看视频| 国产亚洲女人久久久久毛片| 97成人精品区在线播放| 欧美老女人bb| 免费黄色网页在线观看| 日本美女一区二区三区视频| 亚洲乱码国产乱码精品精天堂| 91成人综合网| 国产超碰人人模人人爽人人添| 91偷拍一区二区三区精品| 在线精品视频免费观看| 免费一区二区三区在在线视频| 五月婷婷一区二区| 韩国三级成人在线| 日韩欧美在线国产| 欧美成人综合一区| 国产v片在线观看| 老司机久久99久久精品播放免费| 精品无人国产偷自产在线| 免费一级特黄毛片| 午夜av免费观看| 亚洲一区二区毛片| 亚洲人成77777在线观看网| 欧美成人xxxxx| 欧美巨乳在线| 日本欧美一区二区三区乱码| 国内精品伊人久久| 亚洲AV无码国产精品| 日韩av大片站长工具| 欧美国产综合色视频| 国产一区视频在线| 免费无码毛片一区二区app| 亚洲精品18| 午夜视频一区在线观看| 久久久一本精品99久久精品66| 色av性av丰满av| 日韩成人三级| 日韩免费观看高清完整版 | 国产麻豆免费视频| 一区二区中文字| 亚洲福利视频久久| 日韩欧美精品在线观看视频| 国产福利免费在线观看| 久久99热国产| 午夜精品久久久久久久白皮肤 | 日本免费黄视频| rebdb初裸写真在线观看| 久久综合狠狠综合久久综合88| 国产精品日韩专区| 欧美高清视频一区二区三区| 久久人体视频| 最近2019中文字幕大全第二页| 亚洲18在线看污www麻豆| 欧美人与性动交α欧美精品图片| 99久久亚洲一区二区三区青草 | 黄色精品视频网站| 亚洲五码中文字幕| 视频一区二区三区免费观看| 精品无人乱码| 看国产成人h片视频| 欧美老女人性生活| 小早川怜子久久精品中文字幕| 欧美黄页免费| 91精品国产入口| 国产日产欧美视频| 在线成人av观看| 亚洲激情校园春色| www.欧美黄色| 九色porny视频在线观看| 中文字幕高清一区| 精品无码久久久久国产| 国产精品欧美综合亚洲| 国产欧美另类| 国产精品美女免费视频| 国产伦精品一区二区三区免.费| 国产原创一区二区三区| 国产成人av网址| 日韩成人一区二区三区| 亚洲欧美综合久久久| 欧美高清视频在线观看| youjizz亚洲女人| 欧美激情99| 69成人精品免费视频| 国产美女三级视频| 国外成人福利视频| 日韩精品一区国产麻豆| 亚洲av无码一区二区三区人| 中文字幕一区二区三三| 91av免费观看91av精品在线| 涩涩视频在线观看| 日韩福利电影在线| 欧美一级黑人aaaaaaa做受| 美女毛片在线观看| 久久精品在线| 78色国产精品| 国产精品欧美久久久久天天影视| 97se亚洲国产综合自在线不卡| 成人在线免费网站| 国产黄色片av| 久久久国际精品| 欧美日韩精品免费观看视一区二区| 亚州男人的天堂| 亚洲欧美影音先锋| 视频一区二区在线观看| 丁香花视频在线观看| 有坂深雪av一区二区精品| 黄色一级片播放| 久久影院午夜精品| 制服丝袜一区二区三区| 亚洲AV无码国产成人久久| 免费电影一区二区三区| 亚洲日韩第一页| 久久久久久久中文字幕| 久久精品国产77777蜜臀| 久久99精品久久久久久三级 | 欧美精品成人91久久久久久久| 东方av正在进入| 午夜精品av| 韩国福利视频一区| japanese国产| 国产精品久久久久永久免费观看| 激情综合网婷婷| 久久悠悠精品综合网| 精品伊人久久97| 精品一区免费观看| 久久九九免费| 国产在线视频欧美一区二区三区| 亚洲欧美综合一区二区| 亚洲一区二区视频在线| 欧洲在线免费视频| 欧美黑人做爰爽爽爽| 欧美国产日产韩国视频| 国产女人18毛片水18精| ●精品国产综合乱码久久久久| 麻豆一区二区三区视频| 日韩精品诱惑一区?区三区| 日本最新高清不卡中文字幕| 一级一级黄色片| 国产日韩欧美精品电影三级在线 | cao在线视频| 欧美午夜无遮挡| 欧美一区二区三区成人精品| 成人午夜av| 欧美寡妇偷汉性猛交| 99产精品成人啪免费网站| 中文一区二区在线观看| 国产三级国产精品国产专区50| 国产麻豆精品| 日韩大陆毛片av| 亚洲熟女毛茸茸| av不卡在线看| 成人两性免费视频| 视频国产在线观看| 一本高清dvd不卡在线观看| 亚洲第一天堂久久| 欧美一区激情| 国产精品99久久久久久久| 678在线观看视频| 日韩精品一二三四区| 国产精品suv一区| 国产精品久久久久影院老司| 三级黄色片播放| 国产探花一区在线观看| 欧美黄色性视频| 日韩中文字幕综合| 玉足女爽爽91| 成年人的黄色片| 午夜精品偷拍| 精品视频第一区| 国产精品久久久久久久久免费高清| 日韩中文字幕国产精品| 无码视频一区二区三区| 成人精品gif动图一区| 精品这里只有精品| 欧美亚洲国产精品久久| 亚洲综合大片69999| 在线免费看a| 日本电影亚洲天堂一区| 亚洲中文字幕一区| 日韩精品电影在线| 欧美 日韩 国产精品| 91麻豆精品一二三区在线| 亚洲欧美制服第一页| 亚洲性生活大片| 国产免费久久精品| 中文字幕永久免费| 日韩精品1区2区3区| 欧美日韩中文字幕在线播放| 亚洲欧洲免费| 欧美亚洲国产日韩2020| 在线观看av黄网站永久| 欧美视频一区二区在线观看| 日韩一级av毛片| 国产一区二区三区观看| a在线视频观看| 在线中文字幕第一区| 欧美一二三区| 日本精品裸体写真集在线观看| 久久影院资源网| 国产在线小视频| 亚洲第一中文字幕| 91久久久久久久久久久久| 久久久国产午夜精品| 巨乳女教师的诱惑| 欧美日韩亚洲三区| 国产精品区一区二区三含羞草| 日本欧美电影在线观看| 欧美成人高清电影在线| 久久久久久久久久一区二区三区 | 国产精品美女高潮无套| 日本视频免费一区| 精品少妇一区二区三区在线| 亚洲电影影音先锋| 成人h在线播放| 欧美人与牲禽动交com| 深夜福利日韩在线看| 奇米影视888狠狠狠777不卡| 色婷婷综合久久久中文字幕| 欧美极品aaaaabbbbb| 国产精品成人午夜| 老司机av网站| 韩国成人福利片在线播放| 日韩成人三级视频| 在线一区免费| 日韩视频一二三| 欧美精品密入口播放| 99re视频在线播放| 日本一区影院| 国产91精品高潮白浆喷水| 久久电影网站| 国产69精品久久久久9999| 黄色在线观看视频网站| 欧美激情免费看| 9999热视频在线观看| 午夜精品一区二区三区av| 成人性生交大片免费看网站 | 私库av在线播放| 亚洲人成网站影音先锋播放| 妖精视频一区二区| 视频一区二区不卡| 少妇高清精品毛片在线视频| 久久久影院免费| 亚洲欧美国产一区二区| 亚洲成人偷拍| 国产麻豆一区二区三区在线观看| 91精品国产自产在线丝袜啪| 国产欧美日韩亚洲| 天堂网av成人| 91欧美日韩一区| 亚洲欧美韩国| 久久国产精品影视| 四虎影视精品成人| 亚洲欧美日韩精品久久亚洲区 | 日韩av新片网| 亚洲一区二区三区高清| 日日摸天天爽天天爽视频| 日本不卡123| xxxx在线免费观看| 丰满少妇久久久久久久| 久久国产激情视频| 国产专区综合网| 丰满岳乱妇一区二区| 久久这里只有精品视频网| 手机看片日韩av| 中文字幕字幕中文在线中不卡视频| 激情综合五月网| 欧美性jizz18性欧美| 在线免费观看视频网站| 日韩午夜激情视频| 91麻豆成人精品国产| 欧美mv和日韩mv的网站| 青春有你2免费观看完整版在线播放高清| 在线观看国产欧美| 欧美成人片在线| 日韩中文字幕在线看| av电影在线免费| 国产精品女主播视频| 哺乳一区二区三区中文视频 | 亚洲精品不卡在线观看| 久久久久久精| 一区二区三区午夜探花| 激情深爱综合网| 最新成人av网站| 日本手机在线视频| 日本vs亚洲vs韩国一区三区| 亚洲av综合色区无码另类小说| 国产亚洲欧美一区在线观看| 欧美做爰爽爽爽爽爽爽| 日韩欧美极品在线观看| 国产乱叫456在线| 亚洲天堂av高清| 7777kkk亚洲综合欧美网站| 国产精选久久久久久| 欧美性www| 国产精品视频yy9099| 精品视频高潮| 日韩视频在线免费播放| 亚洲九九在线| 日韩视频免费在线播放| 夜久久久久久| 精品国产乱码久久久久久1区二区| 久久伊人中文字幕| 男女免费视频网站| 欧美日韩卡一卡二| 97超碰国产在线| 亚洲国产精品美女| 亚洲综合影视| 欧美激情精品久久久久久| 激情久久一区二区| 麻豆av一区二区三区| 狠狠噜噜久久| 国产91在线免费| 国产98色在线|日韩| 精品国产大片大片大片| 在线观看一区日韩| 青青草视频在线免费观看| 午夜精品福利在线观看| 婷婷视频一区二区三区| 五月天综合婷婷| 久久国产三级精品| 久久亚洲无码视频| 日韩欧美国产黄色| 亚州男人的天堂| 欧美一级在线播放| 性欧美xxxx免费岛国不卡电影| 国产freexxxx性播放麻豆| 亚洲综合精品| 在线观看av网页| 国产亚洲欧美日韩在线一区| 少妇太紧太爽又黄又硬又爽| 欧美日韩精品一区视频| 成人在线播放视频| 欧美激情欧美狂野欧美精品| 麻豆国产一区二区三区四区| 天天爱天天做天天操| 国产在线播放一区三区四| 午夜爱爱毛片xxxx视频免费看| 91精品免费观看| 2021国产在线| 豆国产97在线| 亚洲欧洲视频| 最新在线黄色网址| 91国产丝袜在线播放| 国产免费av高清在线| 国产精品一区二区久久久久| 仙踪林久久久久久久999| 小日子的在线观看免费第8集| 亚洲精品日产精品乱码不卡| 91精品国产高清一区二区三密臀| 日韩av在线天堂网| japanese23hdxxxx日韩| 亚洲欧洲国产精品久久| 国产一区二区三区精品视频| 青春草免费视频| 日韩av网站电影| 九七电影院97理论片久久tvb| 精品一区二区成人免费视频| 高清成人在线观看| 国产精品一区二区三区四| 中文字幕日韩欧美在线| av白虎一区| 欧美一级二级三级| 狠狠色丁香久久婷婷综合丁香| 亚洲欧美一区二区三区四区五区| 精品久久久久久久久久久久久久久 | 北条麻妃在线一区| 国产精品久久久久久久久久免费看 | 91嫩草丨国产丨精品| 精品精品国产高清a毛片牛牛| 天天综合av| 在线观看日韩片| 美女黄色成人网| 少妇高潮惨叫久久久久| 色综合天天综合网天天狠天天| 成黄免费在线| 国产精品久久久久久久久婷婷| 日韩精品亚洲专区| 美国黄色小视频| 亚洲欧美制服综合另类| 国产日韩欧美中文在线| 亚洲国产精品久久久久爰色欲| 国产精品第五页| 久久视频www| 97人摸人人澡人人人超一碰| 亚洲欧洲日韩| 黄色aaa视频| 日韩视频一区二区| 播放一区二区| 日韩伦理在线免费观看|