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

Springboot編程式事務(wù)使用方式詳解

開發(fā) 前端
編程式的事務(wù)適合少量的事務(wù)操作;比如在一個服務(wù)的調(diào)用中有大量的計算操作,最后將計算結(jié)果進行事務(wù)的操作這種情況就適合應(yīng)用事務(wù)編程式的進行事務(wù)控制。

[[410883]]

環(huán)境:springboot2.3.9.RELEASE

Spring提供兩種編程式事務(wù)管理方法:

  1. 使用TransactionTemplate 或 TransactionalOperator
  2. 直接創(chuàng)建TransactionManager的實現(xiàn)

Spring官方推薦使用TransactionTemplate方式

準備

  1. // 實體類 
  2. @Entity 
  3. @Table(name = "BC_USERS"
  4. @Data 
  5. public class Users{ 
  6.     private String username ; 
  7.     private String password ; 
  8.     private Integer status = 0 ; 
  9. // DAO 
  10. public interface UsersRepository extends JpaRepository<Users, String> { 
  11.  
  12.   @Modifying 
  13.   @Query("update Users u set u.status=?1,u.password='123123' where u.id=?2"
  14.   int updateUsers(Integer status, String id) ; 
  15.      
  16. @Mapper 
  17. public interface UsersMapper { 
  18.  
  19.   int insertUser(Users user) ; 
  20.      
  21. // Mapper.xml 
  22. <insert id="insertUser" parameterType="com.pack.domain.Users"
  23.   insert into bc_users (id, username, passwordvalues (#{id}, #{username}, #{password}) 
  24. </insert

1 TransactionTemplate

1.1 有返回值的

  1. @Service 
  2. public class UserService { 
  3.      
  4.   @Resource 
  5.   private TransactionTemplate transactionTemplate ; 
  6.   @Resource 
  7.   private UsersRepository usersRepository ; 
  8.      
  9.   public Integer saveUsers(Users users) { 
  10.     this.transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); 
  11.     Integer result = transactionTemplate.execute(new TransactionCallback<Integer>() { 
  12.       @Override 
  13.       public Integer doInTransaction(TransactionStatus status) { 
  14.         return usersMapper.insertUser(users) ; 
  15.       } 
  16.     }) ; 
  17.     return result ; 
  18.     } 
  19.      

1.2 無返回值的

當沒有返回值時可以使用

TransactionCallbackWithoutResult

  1. public void saveUsers(Users users) { 
  2.   transactionTemplate.execute(new TransactionCallbackWithoutResult() { 
  3.     @Override 
  4.     protected void doInTransactionWithoutResult(TransactionStatus status) { 
  5.       usersMapper.insertUser(users) ; 
  6.     } 
  7.   }) ; 

1.3 事務(wù)回滾

事務(wù)的回滾通過

TransactionStatus.setRollbackOnly方法

  1. public Users saveUser(Users users) { 
  2.   return transactionTemplate.execute(new TransactionCallback<Users>() { 
  3.     @Override 
  4.     public Users doInTransaction(TransactionStatus status) { 
  5.       try { 
  6.         return usersMapper.insertUser(users) ; 
  7.       } catch (Exception e) { 
  8.         status.setRollbackOnly() ; 
  9.       } 
  10.       return null ; 
  11.     } 
  12.   }) ; 

1.4 配置事務(wù)屬性

在實例化TransactionTemplate對象的時候我們可以對事務(wù)進行相關(guān)的屬性配置,通過如下方式。

  1. private TransactionTemplate transactionTemplate ; 
  2.      
  3. public UserService(PlatformTransactionManager transactionManager) { 
  4.   this.transactionTemplate = new TransactionTemplate(transactionManager) ; 
  5.   this.transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_NOT_SUPPORTED); 
  6.   this.transactionTemplate.setTimeout(30); //seconds 

測試代碼

  1. public Integer updateUsers(Integer statusValue, String id) { 
  2.   return transactionTemplate.execute(new TransactionCallback<Integer>() { 
  3.     @Override 
  4.     public Integer doInTransaction(TransactionStatus status) { 
  5.       return usersRepository.updateUsers(statusValue, id) ; 
  6.     } 
  7.   }) ; 
  8. @Modifying 
  9. @Query("update Users u set u.status=?1 where u.id=?2"
  10. int updateUsers(Integer status, String id) ; 

由于這里事務(wù)傳播屬性設(shè)置的NOT_SUPPORTED.所以程序會報錯誤

  1. org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query 
  2.     at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:403) 
  3.     at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:257) 
  4.     at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:531) 

2 TransactionalOperator

TransactionalOperator適用于反應(yīng)式編程,這里不做介紹。

3 TransactionManager

使用TransactionManager管理事務(wù)也有兩種

PlatformTransactionManager,

ReactiveTransactionManager

ReactiveTransactionManager適用于反應(yīng)式編程,這里不做介紹。

3.1 PlatformTransactionManager

在程序中可以使用

PlatformTransactionManager來控制事務(wù)的提交與回滾

示例:

  1. private PlatformTransactionManager transactionManager ; 
  2. private DefaultTransactionDefinition definition ; 
  3. private TransactionStatus status ; 
  4. @Resource 
  5. private UsersRepository usersRepository ; 
  6.  
  7. public UserService3(PlatformTransactionManager transactionManager) { 
  8.   this.transactionManager = transactionManager ; 
  9.   definition = new DefaultTransactionDefinition() ; 
  10.   definition.setName("pgName") ; 
  11.   definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED) ; 
  12.      
  13. public Integer saveUsers(Users users) { 
  14.   TransactionStatus status = this.transactionManager.getTransaction(definition) ; 
  15.   Integer result = null ; 
  16.   try { 
  17.     result = usersMapper.insertUser(users) ; 
  18.   } catch (Exception e) { 
  19.     transactionManager.rollback(status) ; 
  20.     throw e ; 
  21.   } 
  22.   transactionManager.commit(status) ; 
  23.   publisher.publishEvent(new UsersEvent(users)); 
  24.   return result ;        

4 事務(wù)事件監(jiān)聽

通過@

TransactionalEventListener注解監(jiān)聽事務(wù)的不同階段的事件信息

  1. public @interface TransactionalEventListener { 
  2.   TransactionPhase phase() default TransactionPhase.AFTER_COMMIT; 
  3.   boolean fallbackExecution() default false
  4.   @AliasFor(annotation = EventListener.class, attribute = "classes"
  5.   Class<?>[] value() default {}; 
  6.   @AliasFor(annotation = EventListener.class, attribute = "classes"
  7.   Class<?>[] classes() default {}; 
  8.   String condition() default ""

fallbackExecution: 默認值false;如果設(shè)置為true,當前即便沒有事務(wù)也會觸發(fā)事件。

TransactionPhase:默認值是事務(wù)提交以后;有如下幾個取值:

  1. public enum TransactionPhase { 
  2.   BEFORE_COMMIT, // 事務(wù)提交前觸發(fā) 
  3.   AFTER_COMMIT, // 事務(wù)提交后觸發(fā) 
  4.   AFTER_ROLLBACK, // 事務(wù)回滾觸發(fā) 
  5.   AFTER_COMPLETION // 事務(wù)完成后 觸發(fā) 

注意:@

TransactionalEventListener注解只對聲明式事務(wù)起作用,對編程式事務(wù)無效。僅適用于由PlatformTransactionManager管理的線程綁定事務(wù)

示例:

  1. // 事件監(jiān)聽 
  2. @Component 
  3. public class TxListenerComponent { 
  4.   @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) 
  5.   public void handleUsersAfterCommit(UsersEvent usersEvent) { 
  6.     Users user = (Users) usersEvent.getSource() ; 
  7.     System.out.println("AfterCommit收到事件通知:" + user.getPassword()) ; 
  8.   } 
  9.   @TransactionalEventListener(phase = TransactionPhase.AFTER_COMPLETION) 
  10.   public void handleUsersAfterCompletion(UsersEvent usersEvent) { 
  11.     Users user = (Users) usersEvent.getSource() ; 
  12.     System.out.println("AfterCompletion收到事件通知:" + user.getPassword()) ; 
  13.   } 
  14.  
  15.   @TransactionalEventListener(phase = TransactionPhase.AFTER_ROLLBACK) 
  16.   public void handleUsersAfterRollback(UsersEvent usersEvent) { 
  17.     Users user = (Users) usersEvent.getSource() ; 
  18.     System.out.println("AfterRollback收到事件通知:" + user.getPassword()) ; 
  19.   } 
  20.  
  21.   @TransactionalEventListener(phase = TransactionPhase.BEFORE_COMMIT) 
  22.   public void handleUsersBeforeCommit(UsersEvent usersEvent) { 
  23.     Users user = (Users) usersEvent.getSource() ; 
  24.     System.out.println("BeforeCommit收到事件通知:" + user.getPassword()) ; 
  25.   } 
  26. // 發(fā)布事件 
  27. @Resource 
  28. private ApplicationEventPublisher publisher ; 
  29. @Resource 
  30. private UsersMapper usersMapper ; 
  31.  
  32. public Integer saveUsers(Users users) { 
  33.   Integer result = transactionTemplate.execute(new TransactionCallback<Integer>() { 
  34.     @Override 
  35.     public Integer doInTransaction(TransactionStatus status) { 
  36.       return usersMapper.insertUser(users) ; 
  37.     } 
  38.   }) ; 
  39.   publisher.publishEvent(new UsersEvent(users)); 
  40.   return result ; 

運行結(jié)果:

  1. 2021-06-17 14:02:56.830 DEBUG 10000 --- [nio-8081-exec-1] com.pack.mapper.UsersMapper.insertUser   : ==>  Preparing: insert into bc_users (id, username, password) values (?, ?, ?) 
  2. 2021-06-17 14:02:56.840 DEBUG 10000 --- [nio-8081-exec-1] com.pack.mapper.UsersMapper.insertUser   : ==> Parameters: mmmmm(String), mmmmm(String), mmmmm(String) 
  3. 2021-06-17 14:02:56.842 DEBUG 10000 --- [nio-8081-exec-1] com.pack.mapper.UsersMapper.insertUser   : <==    Updates: 1 
  4. BeforeCommit收到事件通知:mmmmm 
  5. AfterCommit收到事件通知:mmmmm 
  6. AfterCompletion收到事件通知:mmmmm 

總結(jié):編程式的事務(wù)適合少量的事務(wù)操作;比如在一個服務(wù)的調(diào)用中有大量的計算操作,最后將計算結(jié)果進行事務(wù)的操作這種情況就適合應(yīng)用事務(wù)編程式的進行事務(wù)控制。如果一個操作有很多的事務(wù)的操作那聲明式的事務(wù)方式就更加的合適。

 

責任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2022-02-21 11:21:40

golang編程語言

2023-04-28 08:21:36

SpringBoot聲明式事務(wù)編程式事務(wù)

2023-09-27 16:22:51

SpringMySQL原子性

2023-06-28 08:25:14

事務(wù)SQL語句

2009-12-25 18:05:05

Linux壓縮程式

2022-09-12 22:27:05

編程式事務(wù)聲明式事務(wù)對象

2023-09-04 08:00:53

提交事務(wù)消息

2022-10-25 18:00:00

Redis事務(wù)生產(chǎn)事故

2021-04-15 08:01:27

Spring聲明式事務(wù)

2019-11-27 10:05:00

LombokJava編程

2009-06-17 14:57:11

Spring事務(wù)管理

2023-02-10 07:00:22

2010-03-11 09:34:31

Python線程編程

2010-01-11 17:30:40

VB.NET播放聲音

2016-01-18 10:49:13

Java EE編程式Websocket

2024-11-06 09:26:48

SpringprofileENV

2015-09-09 18:02:07

PythonAPM

2009-08-03 11:38:57

linux at命令詳linux at命令

2010-06-22 13:23:18

Linux at命令詳

2023-11-10 09:16:45

SpringBootThymeleaf
點贊
收藏

51CTO技術(shù)棧公眾號

国产一区二区三区在线看| 狠狠色丁香久久婷婷综合_中| 日韩一二三区视频| 男人操女人逼免费视频| 成人在线免费公开观看视频| 蜜臀av一区二区| 久久6精品影院| 中国毛片在线观看| 亚州一区二区| 91官网在线免费观看| 吴梦梦av在线| 免费人成在线观看网站| 国产精品一区二区果冻传媒| 国产91亚洲精品| 久久久国产精品黄毛片| 不卡中文一二三区| 1区2区3区在线| 欧美美女日韩| 中文字幕一区二区三区精华液| 99久久精品无码一区二区毛片 | 国产精品99久久免费观看| 日本高清不卡aⅴ免费网站| 成年丰满熟妇午夜免费视频 | 国产麻豆一区二区三区| 偷拍与自拍一区| 日韩精品福利片午夜免费观看| 国产一区二区影视| 99久久婷婷国产综合精品| 国产精品免费久久久久影院| 日韩熟女精品一区二区三区| 欧美在线二区| 色偷偷av一区二区三区| 高潮毛片无遮挡| 精品三级av在线导航| 欧美精品777| 午夜视频你懂的| 亚洲欧美韩国| 天天爽夜夜爽夜夜爽精品视频| 91精品国产毛片武则天| 1024视频在线| 国产精品青草综合久久久久99| 欧美精品一区二区三区在线看午夜| 风流老熟女一区二区三区| 国产麻豆视频一区| 国产日韩视频在线观看| 中文字幕在线观看免费| 免费在线视频一区| 国产精品日韩久久久久| 日本在线视频免费| 欧美精品三区| 国模极品一区二区三区| 国产一级片免费| 亚洲一本视频| 2019中文字幕全在线观看| 91精品国产高潮对白| 亚洲激情成人| 欧美最顶级丰满的aⅴ艳星| 在线观看中文字幕视频| 亚洲自啪免费| 国产精品第二页| 超碰超碰在线| 韩国欧美一区| 欧美黑人巨大精品一区二区| 777777国产7777777| 久久在线播放| 久久亚洲一区二区三区四区五区高| 国产人与禽zoz0性伦| 天天影视综合| 色中色综合影院手机版在线观看| 欧洲猛交xxxx乱大交3| 欧美三级不卡| 911国产网站尤物在线观看| 国产专区第一页| 日韩精品久久久久久| 国产精品自拍网| av网站在线免费看| va亚洲va日韩不卡在线观看| 快播日韩欧美| 婷婷成人激情| 亚洲综合丝袜美腿| 噜噜噜久久亚洲精品国产品麻豆| 亚洲精品福利电影| 欧美高清性hdvideosex| 国产乱国产乱老熟300部视频| 激情网站五月天| 四虎成人在线观看| 日韩av一级电影| 成人在线激情视频| 成人毛片视频免费看| www.亚洲在线| 神马欧美一区二区| 奇米视频7777| vam成人资源在线观看| 日韩三区在线观看| 国产aⅴ激情无码久久久无码| 日韩成人a**站| 欧美激情亚洲精品| 中文字幕 人妻熟女| 天天干在线观看| 国产婷婷色一区二区三区 | 亚洲成人久久精品| 国产小视频在线| 国产91精品一区二区| 美女三级99| 在线三级中文| 欧美午夜电影网| 亚洲午夜久久久久久久久| 成人女性视频| 66m—66摸成人免费视频| 一区二区www| 久久美女高清视频 | 亚洲毛片网站| 91久久国产精品| 美州a亚洲一视本频v色道| 亚洲精品免费一二三区| 四季av一区二区| 国语一区二区三区| 久久精品国亚洲| 无码人妻丰满熟妇精品| 成人激情动漫在线观看| 小说区视频区图片区| 裤袜国产欧美精品一区| 亚洲精品在线免费观看视频| 99自拍视频在线| 日本不卡123| 欧美久久久久久| 涩涩视频在线免费看| 精品伦理精品一区| 国产精品 欧美激情| 蜜桃久久精品一区二区| 欧美亚洲免费高清在线观看| 高潮在线视频| 精品国产乱码久久久久久浪潮 | 在线欧美日韩| 97超碰人人看人人| 超碰在线观看免费| 在线播放中文一区| 日本不卡一二区| 免费一级欧美片在线观看| 日本免费高清一区| 国产中文字幕乱人伦在线观看| 色视频在线观看免费| 亚洲国产精品一区二区www在线| 在线一区二区不卡| 91成人免费| 91高跟黑色丝袜呻吟在线观看| 欧美jizz18性欧美| 91超碰这里只有精品国产| 91香蕉视频网| 激情av综合网| 国产青草视频在线观看| 日韩激情综合| 欧美激情一区二区三区高清视频| 亚洲精品久久久狠狠狠爱| 一区二区三区加勒比av| wwwww在线观看| 亚洲黄色视屏| 欧美日韩在线高清| 成人精品国产| 久久精品在线播放| 午夜精品久久久久久久爽| 亚洲午夜精品一区二区三区他趣| 久久性爱视频网站| 久久一区精品| 一本一道久久久a久久久精品91| 深夜日韩欧美| 久久久久成人网| 亚洲人午夜射精精品日韩| 日韩欧美在线中文字幕| 五月婷婷欧美激情| 国产精品一区二区无线| 国产欧美日韩网站| 蜜乳av综合| 成人自拍性视频| 爱草tv视频在线观看992| 亚洲美女视频网站| 中文字幕永久在线观看| 一区二区三区在线观看动漫| 国产亚洲色婷婷久久99精品91| 日日噜噜夜夜狠狠视频欧美人| 在线免费观看成人网| 亚洲一区二区三区日本久久九| 66m—66摸成人免费视频| 1区2区3区在线观看| 日韩精品一区二区三区老鸭窝| 丰满少妇乱子伦精品看片| 亚洲国产精品黑人久久久| 久久久久久久久久久影视| 免费精品视频| 国内外成人激情免费视频| 美女网站色精品尤物极品姐弟| 国产精品av在线| 欧美v亚洲v| 在线观看久久久久久| 不卡视频免费在线观看| 在线看不卡av| 久久久久亚洲av无码专区| 日本一区二区三区国色天香| 韩国三级在线看| 蜜臀久久久99精品久久久久久| 日韩欧美视频免费在线观看| 国产成人精品免费视| caoporn国产精品免费公开| 国产精品专区免费| 九九热精品在线| 成人性生交大片免费看午夜| 亚洲成年人在线| 国产又粗又黄又爽视频| 精品久久久久久久久久久久久| 亚洲欧美精品久久| av网站在线免费看| 色综合咪咪久久| 国产一级免费av| 亚洲日本护士毛茸茸| a级片在线观看| 99这里只有久久精品视频| 亚洲综合123| 蜜桃一区二区三区四区| 97超碰青青草| 在线成人欧美| 男人c女人视频| 国产精品久久久久久久免费观看| 日韩精品一线二线三线| 欧美黑人巨大videos精品| 91手机在线视频| 亚洲我射av| 国产人妖伪娘一区91| 欧美大片免费| 性欧美xxxx视频在线观看| 91蜜桃在线视频| 久久精品最新地址| 麻豆视频在线免费观看| 一区二区三区国产在线观看| 手机亚洲第一页| 亚洲加勒比久久88色综合| 性生交生活影碟片| 日韩一级欧美一级| 国产熟女一区二区丰满| 欧美蜜桃一区二区三区| 这里只有精品免费视频| 欧美性受xxxx黑人xyx| 中文字幕精品无| 欧美在线观看你懂的| 久久久久久久亚洲| 欧美亚洲愉拍一区二区| 免费黄色一级大片| 欧亚洲嫩模精品一区三区| 中文字幕一区二区三区四区欧美| 日韩欧美在线中文字幕| 国产又粗又猛又黄视频| 欧美色中文字幕| 91资源在线视频| 欧美一区二区三区在线观看 | 日韩欧美在线1卡| 亚洲av无码片一区二区三区 | 九九热99视频| 久久超碰97中文字幕| 亚洲午夜激情影院| 国产精品一区二区久激情瑜伽| wwwww在线观看| 99国产一区二区三精品乱码| 女尊高h男高潮呻吟| 久久精品人人爽人人爽| 欧美另类69xxxx| 玉米视频成人免费看| 日本免费一二三区| 91成人国产精品| 国产农村妇女毛片精品| 精品成人佐山爱一区二区| 日本中文字幕一区二区有码在线 | 久久精品毛片| 9l视频白拍9色9l视频| 精品一区二区三区免费毛片爱| 亚洲热在线视频| av一区二区三区在线| 国产三级短视频| 亚洲自拍另类综合| 五月天婷婷激情| 911精品产国品一二三产区| 性中国古装videossex| 亚洲免费视频观看| 国产日产一区二区三区| 午夜精品一区二区三区av| 日韩一级二级| 国产精品一区二区三区精品| 国产欧美日韩在线观看视频| av磁力番号网| 久久婷婷影院| 9191在线视频| 欧美极品xxx| 国产在线视频卡一卡二| 欧美网站一区二区| 丰满少妇高潮在线观看| 中文字幕亚洲精品| 男人久久天堂| 亚洲自拍偷拍视频| 国产欧美日韩影院| www.亚洲视频.com| 久久国产视频网| 久久丫精品国产亚洲av不卡| 亚洲欧美日韩电影| 国产精品欧美综合| 亚洲激情在线观看| 性直播体位视频在线观看| 国产精品久久99久久| 91综合精品国产丝袜长腿久久| 激情一区二区三区| 欧美一区二区三区久久精品| 亚洲精品高清无码视频| 成人精品高清在线| 伊人在线视频观看| 91成人在线精品| 天天综合在线视频| 久久久久久18| 精品国产亚洲日本| 亚洲人成网站在线播放2019| 亚洲专区一区| 亚洲调教欧美在线| 亚洲一区二区三区四区在线观看| 国产精品视频在线观看免费| 亚洲品质视频自拍网| av漫画网站在线观看| 91蜜桃网站免费观看| 欧美高清在线| 手机在线看福利| 欧美激情综合在线| 成人一二三四区| 亚洲欧美一区二区三区情侣bbw| 99爱在线视频| 国产伦精品一区二区三区免| 欧美日韩第一区| 中文字幕一二三区| 一区二区三区四区乱视频| 91在线视频国产| 美女扒开尿口让男人操亚洲视频网站| 美女色狠狠久久| 日韩欧美一区二区三区四区| 久久精品日产第一区二区 | 5566日本婷婷色中文字幕97| 成午夜精品一区二区三区软件| 国产精品自拍合集| 成人精品鲁一区一区二区| 日本一二三区视频| 亚洲高清福利视频| 三妻四妾的电影电视剧在线观看| 国产区二精品视| 日韩一级在线| 中文字幕一区二区久久人妻网站| 婷婷综合久久一区二区三区| 天堂中文资源在线| 日本一区二区三区在线播放 | 免费看污污视频| 国产精品一二二区| 久久久久人妻一区精品色欧美| 亚洲第一级黄色片| 松下纱荣子在线观看| 青青草原亚洲| 久久99久久精品| 91aaa在线观看| 亚洲精品国产精品自产a区红杏吧| 国产在线观看www| 日本不卡高清视频一区| 久久精品久久99精品久久| 永久免费看片视频教学| 日韩一卡二卡三卡四卡| 爱啪视频在线观看视频免费| 欧美日韩亚洲免费| 麻豆91在线播放免费| 好吊色视频在线观看| 亚洲激情在线视频| 免费视频成人| 欧美亚洲色图视频| 久久久久久久综合色一本| 中文字幕一区二区在线视频| 欧美日韩福利在线观看| 色吊丝一区二区| 国产九九热视频| 五月天丁香久久| av中文字幕一区二区三区| 99re热精品| 天堂资源在线中文精品| 极品久久久久久| 亚洲欧洲在线免费| 国产精品亚洲欧美一级在线| 日韩国产一级片| 国产精品狼人久久影院观看方式| 亚洲第一页综合| 国产精品网站视频| 欧美韩国一区| 午夜精产品一区二区在线观看的| 日韩午夜电影av| 另类中文字幕国产精品| 日韩国产小视频| 亚洲国产精品t66y| 老熟妇高潮一区二区高清视频| 国产精品v片在线观看不卡| 国产精品hd| 五月综合色婷婷| 亚洲欧美日韩网| 都市激情久久|