日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

将jOOQ与Spring结合使用:排序和分页

發布時間:2023/12/3 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将jOOQ与Spring结合使用:排序和分页 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JOOQ是一個庫,可以幫助我們控制SQL。 它可以從我們的數據庫生成代碼,并允許我們使用其流暢的API來構建類型安全的數據庫查詢。

本教程前面的部分向我們介紹了如何配置應用程序的應用程序上下文,如何從數據庫生成代碼以及如何將CRUD操作添加到jOOQ存儲庫。

這次,我們將學習如何實現支持排序和分頁的簡單搜索功能。

讓我們開始吧。

補充閱讀:

  • 將jOOQ與Spring結合使用:配置是本教程的第一部分,它描述了您可以配置使用jOOQ的Spring應用程序的應用程序上下文。 您可以在不閱讀本教程第一部分的情況下了解此博客文章,但是,如果您想在基于Spring的應用程序中真正使用jOOQ,建議您也閱讀本教程的第一部分。
  • 將jOOQ與Spring結合使用:代碼生成是本教程的第二部分,它描述了我們如何對數據庫進行反向工程并創建代表不同數據庫表,記錄等的jOOQ查詢類。 因為這些類是類型安全SQL查詢的構建塊, 所以建議您在閱讀本博客文章之前閱讀本教程的第二部分
  • 在Spring中使用jOOQ:CRUD描述了如何為管理待辦事項的簡單應用程序添加CRUD操作。 因為它涵蓋了使用Spring創建jOOQ存儲庫所需的信息, 所以建議您在閱讀此博客文章之前先閱讀它

向Web層添加分頁和排序支持

當我們實現必須同時支持分頁和排序的搜索功能時,我們必須找出一種方法來向后端提供頁碼,頁大小,排序字段的名稱和排序順序。

我們當然可以實現一個支持此功能的組件,但它并不像聽起來那么簡單。 創建HandlerMethodArgumentResolver很容易,它可以從HTTP請求中找到此信息并將其轉換為對象,然后將該對象作為方法參數傳遞給我們的控制器方法。 問題在于存在許多“例外”情況,這使此任務非常棘手。 例如,

  • 如果從HTTP請求中找不到此信息,則必須回退到默認值。
  • 如果缺少所需的信息(例如,沒有指定頁面大小就給出了頁碼),我們必須退回到默認值或向REST API用戶返回錯誤。

幸運的是,我們不必實現此組件。 Spring Data Commons項目具有一個組件 , 該組件從HTTP請求中提取分頁和排序信息,并允許我們將該信息注入到控制器方法中。

讓我們發現我們可以使用Maven獲得Spring Data Commons二進制文件。

使用Maven獲取所需的依賴關系

通過將以下依賴項聲明添加到POM文件的依賴項部分,我們可以使用Maven獲得所需的二進制文件:

<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId><version>1.7.1.RELEASE</version> </dependency>

下一步是對示例應用程序的應用程序上下文配置進行一些更改。 讓我們繼續前進,找出我們必須進行的更改。

配置應用程序上下文

我們可以通過對應用程序上下文配置類進行簡單的更改來啟用Spring Data的Web分頁支持,該類配置了示例應用程序的Web層。 我們必須使用@EnableSpringDataWebSupport批注來批注配置類。 這樣可以確保所需的bean自動注冊。

@EnableSpringDataWebSupport批注的API文檔提供了有關使用此批注時注冊的bean的更多信息。

WebAppContext類的相關部分如下所示:

import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.data.web.config.EnableSpringDataWebSupport; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@Configuration @ComponentScan({"net.petrikainulainen.spring.jooq.common.controller","net.petrikainulainen.spring.jooq.todo.controller" }) @EnableWebMvc @EnableSpringDataWebSupport public class WebAppContext extends WebMvcConfigurerAdapter {//Other methods are omitted for the sake of clarity }

這就對了。 現在,我們對示例應用程序的應用程序上下文配置進行了必要的更改。 讓我們找出如何在應用程序中使用Web分頁支持。

使用網頁分頁

當我們想對查詢結果進行排序和分頁時,我們必須遵循以下步驟:

  • 將分頁和排序配置添加到HTTP請求。
  • 將Pageable方法參數添加到控制器方法。
  • 首先 ,我們可以使用以下請求參數將分頁和排序配置添加到HTTP請求:

    • 頁面請求參數指定請求的頁碼。
    • size請求參數指定所請求頁面的大小。
    • 排序請求參數指定用于對查詢結果進行排序的屬性。 此請求參數的此值必須遵循以下語法: property,property(,ASC | DESC) 。 如果未給出排序方向,則結果將按升序排序。 如果要切換排序順序,則必須使用多個排序參數(例如?sort = title&sort = id,desc )。

    其次 ,我們必須在我們的控制器方法中添加一個Pageable方法參數。 TodoController類的相關部分如下所示:

    import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;import javax.validation.Valid; import java.util.List;@RestController @RequestMapping("/api/todo") public class TodoController {private final TodoCrudService crudService;private final TodoSearchService searchService;@Autowiredpublic TodoController(TodoCrudService crudService, TodoSearchService searchService) {this.crudService = crudService;this.searchService = searchService;}@RequestMapping(value = "/search", method = RequestMethod.GET)public List<TodoDTO> findBySearchTerm(@RequestParam("searchTerm") String searchTerm, Pageable pageable) {return searchService.findBySearchTerm(searchTerm, pageable);} }

    現在,我們可以將搜索功能添加到我們的jOOQ存儲庫中。 讓我們找出這是如何完成的。

    實施存儲庫層

    我們要做的第一件事是向TodoService接口添加一個新的公共方法。 findBySearchTerm(String searchTerm,Pageable pageable)方法查找標題或描述包含給定搜索詞的待辦事項,并按照作為方法參數給出的分頁和排序配置返回查詢結果。

    TodoRepository接口的相關部分如下所示:

    import org.springframework.data.domain.Pageable;import java.util.List;public interface TodoRepository {public List<Todo> findBySearchTerm(String searchTerm, Pageable pageable);//Other methods are omitted for the sake of clarity }

    此方法的實現有兩個職責:

  • 它必須找到標題或描述包含給定搜索詞的待辦事項。
  • 它必須處理從Pageable對象找到的排序和分頁選項,并將它們轉換為jOOQ可以理解的形式。
  • 讓我們繼續前進,找出如何找到標題或描述包含給定搜索詞的待辦事項。

    實施搜索查詢

    我們可以按照以下步驟實施搜索查詢:

  • 將findBySearchTerm(String searchTerm,Pageable pageable )方法添加到JOOQTodoRepository類。
  • 使用@Transactional注釋對方法進行注釋,并將其readOnly屬性的值設置為true。
  • 通過執行以下步驟來實現findBySearchTerm()方法:
  • 創建在我們的數據庫查詢中使用的like表達式。
  • 通過調用DSLContext接口的selectFrom(Table table)方法來創建新的SELECT語句,并指定您要從todos表中選擇信息。
  • 通過調用SelectWhereStep接口的where(Collection condition)方法來指定SELECT語句的WHERE子句。 通過執行以下步驟創建此方法的方法參數:
  • 通過調用Field接口的likeIgnoreCase(String value)方法,為 todos表的description和title列創建相似的條件。 將like表達式作為方法參數傳遞。
  • 通過使用Condition接口的or(Condition other)方法組合創建的類似條件。
  • 通過調用ResultQuery接口的fetchInto(Class type)方法獲取TodosRecord對象的列表。 傳遞TodosRecord.class對象作為方法參數。
  • 通過調用私有的convertQueryResultsToModelObjects()方法,將TodosRecord對象的列表轉換為Todo對象的列表。 此方法迭代TodosRecord對象的列表,并通過調用convertQueryResultToModelObject()方法將每個TodosRecord對象轉換為Todo對象。 每個Todo對象都添加到一個列表中,當所有TodosRecord對象都處理完畢后 ,將返回該列表。
  • 返回Todo對象的列表。
  • 我們的實現的源代碼如下所示:

    import org.jooq.DSLContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional;import java.util.ArrayList; import java.util.List;import static net.petrikainulainen.spring.jooq.todo.db.tables.Todos.TODOS;@Repository public class JOOQTodoRepository implements TodoRepository {private final DateTimeService dateTimeService;private final DSLContext jooq;//The constructor is omitted for the sake of clarity@Transactional(readOnly = true)@Overridepublic List<Todo> findBySearchTerm(String searchTerm, Pageable pageable) {String likeExpression = "%" + searchTerm + "%";List<TodosRecord> queryResults = jooq.selectFrom(TODOS).where(TODOS.DESCRIPTION.likeIgnoreCase(likeExpression).or(TODOS.TITLE.likeIgnoreCase(likeExpression))).fetchInto(TodosRecord.class);return convertQueryResultsToModelObjects(queryResults);}private List<Todo> convertQueryResultsToModelObjects(List<TodosRecord> queryResults) {List<Todo> todoEntries = new ArrayList<>();for (TodosRecord queryResult : queryResults) {Todo todoEntry = convertQueryResultToModelObject(queryResult);todoEntries.add(todoEntry);}return todoEntries;}private Todo convertQueryResultToModelObject(TodosRecord queryResult) {return Todo.getBuilder(queryResult.getTitle()).creationTime(queryResult.getCreationTime()).description(queryResult.getDescription()).id(queryResult.getId()).modificationTime(queryResult.getModificationTime()).build();}//Other methods are omitted for the sake of clarity }

    此示例的數據庫查詢非常簡單。 如果需要創建更復雜的數據庫查詢,則應閱讀4.6節。 jOOQ參考手冊的條件表達式 。 它描述了如何在數據庫查詢中使用條件表達式。

    現在,我們創建了一個存儲庫方法,該方法從數據庫中搜索待辦事項。 下一步是對該數據庫查詢的查詢結果進行排序。

    查詢結果排序

    在對搜索查詢的查詢結果進行排序之前,我們必須了解如何從Pageable對象獲取數據庫查詢的排序選項。

    • 我們可以通過調用Pageable接口的getSort()方法來獲得對Sort對象的引用。 該對象包含從HTTP請求中找到的排序選項。
    • 排序對象可以包含零個或多個排序選項。 Sort類的iterator()方法返回一個Iterator <Sort.Order>對象,當我們要處理數據庫查詢的每個排序選項時可以使用該對象。
    • Sort.Order類包含屬性名稱和排序方向 。

    換句話說,我們必須滿足以下要求:

    • 我們必須支持未指定排序選項的情況。
    • 我們必須支持一種情況,其中我們的查詢結果通過使用多列進行排序。
    • 我們必須假設每個列都有自己的排序順序。

    我們可以通過對JOOQTodoRepository類進行以下更改來滿足這些要求:

  • 將私有的getTableField(String sortFieldName)方法添加到存儲庫類,并通過以下步驟實現此方法:
  • 使用反射獲得一個Field對象,該對象提供有關Todos對象的請求字段的信息。
  • 如果找不到該字段或我們無法訪問它,則拋出一個新的InvalidDataAccessApiUsageException 。
  • 如果找到該字段,則將返回的Field對象轉換為TableField對象并返回它。
  • 將一個專用的convertTableFieldToSortField(TableField tableField,Sort.Direction sortDirection)方法添加到存儲庫類,并通過以下步驟實現該方法:
  • 如果此字段的排序順序是升序,請調用Field接口的asc()方法并返回返回的對象。
  • 否則,調用Field接口的desc()方法并返回返回的對象。
  • 將私有的getSortFields(Sort sortSpecification)方法添加到存儲庫類,并通過以下步驟實現它:
  • 創建一個包含SortField <?>對象的新Collection 。
  • 如果找不到排序選項,則返回一個空的Collection對象。
  • 迭代從作為方法參數給出的Sort對象中找到的Sort.Order對象,并按照以下步驟處理每個Sort.Order對象:
  • 使用getTableField()和convertTableFieldToSortField()方法將每個Sort.Order對象轉換為SortField <?>對象。
  • 將每個SortField <?>對象添加到在第一步中創建的Collection中。
  • 返回SortField <?>對象的Collection 。
  • 請按照以下步驟對查詢結果進行排序:
  • 通過調用Pageable接口的getSort()方法來獲取Sort對象。
  • 通過調用getSortFields()方法獲取Collection <SortField <?>>對象。 將Sort對象作為方法參數傳遞。
  • 通過調用SelectSeekStepN接口的orderBy(Collection <?擴展SortField <?>>字段)方法來創建ORDER BY子句,并將Collection <SortField <?>>對象作為方法參數傳遞。
  • 我們的實現的源代碼如下所示(相關部分已突出顯示):

    import org.jooq.DSLContext; import org.jooq.SortField; import org.jooq.TableField; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional;import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List;import static net.petrikainulainen.spring.jooq.todo.db.tables.Todos.TODOS;@Repository public class JOOQTodoRepository implements TodoRepository {private final DateTimeService dateTimeService;private final DSLContext jooq;//The constructor is omitted for the sake of clarity@Transactional(readOnly = true)@Overridepublic List<Todo> findBySearchTerm(String searchTerm, Pageable pageable) {String likeExpression = "%" + searchTerm + "%";List<TodosRecord> queryResults = jooq.selectFrom(TODOS).where(TODOS.DESCRIPTION.likeIgnoreCase(likeExpression).or(TODOS.TITLE.likeIgnoreCase(likeExpression))).orderBy(getSortFields(pageable.getSort())).fetchInto(TodosRecord.class);return convertQueryResultsToModelObjects(queryResults);}private Collection<SortField<?>> getSortFields(Sort sortSpecification) {Collection<SortField<?>> querySortFields = new ArrayList<>();if (sortSpecification == null) {return querySortFields;}Iterator<Sort.Order> specifiedFields = sortSpecification.iterator();while (specifiedFields.hasNext()) {Sort.Order specifiedField = specifiedFields.next();String sortFieldName = specifiedField.getProperty();Sort.Direction sortDirection = specifiedField.getDirection();TableField tableField = getTableField(sortFieldName);SortField<?> querySortField = convertTableFieldToSortField(tableField, sortDirection);querySortFields.add(querySortField);}return querySortFields;}private TableField getTableField(String sortFieldName) {TableField sortField = null;try {Field tableField = TODOS.getClass().getField(sortFieldName);sortField = (TableField) tableField.get(TODOS);} catch (NoSuchFieldException | IllegalAccessException ex) {String errorMessage = String.format("Could not find table field: {}", sortFieldName);throw new InvalidDataAccessApiUsageException(errorMessage, ex);}return sortField;}private SortField<?> convertTableFieldToSortField(TableField tableField, Sort.Direction sortDirection) {if (sortDirection == Sort.Direction.ASC) {return tableField.asc();}else {return tableField.desc();}}private List<Todo> convertQueryResultsToModelObjects(List<TodosRecord> queryResults) {List<Todo> todoEntries = new ArrayList<>();for (TodosRecord queryResult : queryResults) {Todo todoEntry = convertQueryResultToModelObject(queryResult);todoEntries.add(todoEntry);}return todoEntries;}private Todo convertQueryResultToModelObject(TodosRecord queryResult) {return Todo.getBuilder(queryResult.getTitle()).creationTime(queryResult.getCreationTime()).description(queryResult.getDescription()).id(queryResult.getId()).modificationTime(queryResult.getModificationTime()).build();}//The other methods are omitted for the sake of clarity }

    此解決方案有效,但將我們的存儲庫層(和數據庫)的實現細節泄漏給了REST API的客戶端。 我們可以通過為列名稱指定一組允許的別名來避免這種情況,并實現一個轉換組件,將這些別名轉換為Todos類的字段名稱。

    但是,因為這會增加我們的存儲庫類的復雜性,所以我們不會這樣做。

    這實際上是泄漏抽象的一個很好的例子。 這個詞最初是由Joel Spolsky推廣的。 他“發明” 了泄漏抽象定律,該定律指出:

    在某種程度上,所有非平凡的抽象都是泄漏的。

    通過閱讀jOOQ參考手冊的4.3.2.9節 ORDER BY子句,可以獲得有關ORDER BY子句的更多信息。

    現在,我們在搜索查詢中添加了排序支持。 讓我們繼續并通過向findBySearchTerm()方法添加分頁支持來完成搜索功能。

    分頁查詢結果

    通過將LIMIT .. OFFSET子句添加到數據庫查詢中,我們可以對搜索查詢的查詢結果進行分頁。 我們可以通過對數據庫查詢的實現進行以下更改來做到這一點:

  • 通過調用SelectLimitStep接口的limit(int NumberOfRows)方法指定返回的行數,并將頁面大小傳遞給方法參數(您可以通過調用Pageable接口的getPageSize()方法來獲取頁面大小)。
  • 通過調用SelectOffsetStep接口的offset(int offset)方法指定偏移量, 并將偏移量作為方法參數傳遞(您可以通過調用Pageable接口的getOffset()方法來獲取偏移量)。
  • 在對存儲庫方法進行了這些更改之后,存儲庫方法的源代碼如下所示(更改已突出顯示):

    import org.jooq.DSLContext; import org.jooq.SortField; import org.jooq.TableField; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional;import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List;import static net.petrikainulainen.spring.jooq.todo.db.tables.Todos.TODOS;@Repository public class JOOQTodoRepository implements TodoRepository {private final DateTimeService dateTimeService;private final DSLContext jooq;//The constructor is omitted for the sake of clarity@Transactional(readOnly = true)@Overridepublic List<Todo> findBySearchTerm(String searchTerm, Pageable pageable) {String likeExpression = "%" + searchTerm + "%";List<TodosRecord> queryResults = jooq.selectFrom(TODOS).where(TODOS.DESCRIPTION.likeIgnoreCase(likeExpression).or(TODOS.TITLE.likeIgnoreCase(likeExpression))).orderBy(getSortFields(pageable.getSort())).limit(pageable.getPageSize()).offset(pageable.getOffset()).fetchInto(TodosRecord.class);return convertQueryResultsToModelObjects(queryResults);}private Collection<SortField<?>> getSortFields(Sort sortSpecification) {Collection<SortField<?>> querySortFields = new ArrayList<>();if (sortSpecification == null) {return querySortFields;}Iterator<Sort.Order> specifiedFields = sortSpecification.iterator();while (specifiedFields.hasNext()) {Sort.Order specifiedField = specifiedFields.next();String sortFieldName = specifiedField.getProperty();Sort.Direction sortDirection = specifiedField.getDirection();TableField tableField = getTableField(sortFieldName);SortField<?> querySortField = convertTableFieldToSortField(tableField, sortDirection);querySortFields.add(querySortField);}return querySortFields;}private TableField getTableField(String sortFieldName) {TableField sortField = null;try {Field tableField = TODOS.getClass().getField(sortFieldName);sortField = (TableField) tableField.get(TODOS);} catch (NoSuchFieldException | IllegalAccessException ex) {String errorMessage = String.format("Could not find table field: {}", sortFieldName);throw new InvalidDataAccessApiUsageException(errorMessage, ex);}return sortField;}private SortField<?> convertTableFieldToSortField(TableField tableField, Sort.Direction sortDirection) {if (sortDirection == Sort.Direction.ASC) {return tableField.asc();}else {return tableField.desc();}}private List<Todo> convertQueryResultsToModelObjects(List<TodosRecord> queryResults) {List<Todo> todoEntries = new ArrayList<>();for (TodosRecord queryResult : queryResults) {Todo todoEntry = convertQueryResultToModelObject(queryResult);todoEntries.add(todoEntry);}return todoEntries;}private Todo convertQueryResultToModelObject(TodosRecord queryResult) {return Todo.getBuilder(queryResult.getTitle()).creationTime(queryResult.getCreationTime()).description(queryResult.getDescription()).id(queryResult.getId()).modificationTime(queryResult.getModificationTime()).build();}//Other methods are omitted for the sake of clarity }

    您可以對限制更多信息..閱讀OFFSET條款部分4.3.2.10極限.. OFFSET的jOOQ參考手冊的條款 。

    如果您需要實現“永恒滾動”(如時間軸上的Facebook),則應考慮使用seek方法。 您可以從jOOQ網站獲得有關此信息的更多信息:

    • 使用Seek方法使用jOOQ進行更快的SQL分頁
    • 使用鍵集進行更快的SQL分頁,續
    • SEEK子句@ jOOQ參考手冊

    就這些了。 讓我們繼續并總結從這篇博客文章中學到的知識。

    摘要

    現在,我們已經實現了支持排序和分頁的搜索功能。 本教程教會了我們三件事:

    • 我們了解了如何使用Spring Data Commons項目的Web分頁支持。
    • 我們學習了如何將ORDER BY子句添加到數據庫查詢中。
    • 我們學習了如何在數據庫查詢中添加LIMIT .. OFFSET子句。

    本教程的下一部分描述了如何集成Spring Data JPA和jOOQ,更重要的是,為什么要這樣做。

    • Github上提供了此博客文章的示例應用程序。

    翻譯自: https://www.javacodegeeks.com/2014/05/using-jooq-with-spring-sorting-and-pagination.html

    總結

    以上是生活随笔為你收集整理的将jOOQ与Spring结合使用:排序和分页的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    久久精品欧美一区二区三区麻豆 | 亚洲女人天堂成人av在线 | 91av国产视频| 超碰人人在线观看 | 精品国产精品一区二区夜夜嗨 | 久久精品国产精品亚洲精品 | 久草影视在线 | 久久中文网 | 国产精品久久久久久久久久 | 亚洲永久av| 五月婷婷色综合 | 97人人澡人人爽人人模亚洲 | 香蕉网在线 | 高清视频一区二区三区 | 国产99一区视频免费 | 一区在线观看视频 | 亚洲综合爱 | 久草99 | 久久综合99 | 久久精品亚洲 | 丁香花在线观看免费完整版视频 | 精品视频久久久久久 | 欧美精品国产精品 | 天堂av影院 | 国产黄大片在线观看 | 久久精品福利视频 | 国产精品99久久久久久有的能看 | 亚洲成av人片一区二区梦乃 | 欧美一级欧美一级 | 丁香五婷 | 天天操天天干天天摸 | 黄色成年网站 | 欧美最猛性xxxxx(亚洲精品) | 国产美女精品久久久 | 美女精品 | 一二区电影| 黄色亚洲免费 | 伊人日日干 | 中文字幕在线日 | 日韩欧美国产精品 | 久久99精品久久久久久 | 久草视频观看 | 一区国产精品 | 99视频+国产日韩欧美 | 五月网婷婷 | 精品福利av | av观看在线观看 | 精品免费久久 | 深爱婷婷网 | 91在线观看黄 | 国产黄色免费在线观看 | 免费欧美| 亚洲综合在 | 色综合天天视频在线观看 | 国产精品免费高清 | 欧美一二区视频 | 99日精品 | 成人午夜电影网 | 婷婷中文字幕综合 | 在线亚洲播放 | 国产精品免费久久久久 | 亚洲砖区区免费 | 日韩a级黄色片 | 久在线观看视频 | 激情视频在线观看网址 | 日韩首页 | 久久综合中文字幕 | 激情一区二区三区欧美 | 久久久国产精华液 | 国产精品一区在线观看 | 天天碰天天操视频 | 免费看色的网站 | 五月婷婷av | 久久欧美在线电影 | 国产精品女视频 | 日韩电影精品 | 精品九九久久 | 91在线中文| 日韩网| 久久综合亚洲鲁鲁五月久久 | 日韩美女免费线视频 | 中文字幕精品www乱入免费视频 | 在线观看色网站 | 日韩免费视频 | 久久一区二区三区超碰国产精品 | 成人在线网站观看 | 日韩色中色 | 在线免费成人 | 亚洲午夜精品福利 | 久久手机精品视频 | 中文字幕在线看视频国产 | 久久在线精品 | 中文字幕一区二区三区在线播放 | 久久香蕉国产 | 伊人天天色 | 狠狠干天天干 | 婷婷在线资源 | 亚洲精品乱码久久久久久写真 | 天堂av在线 | 亚洲精品女| 国产精品久久久久久69 | 免费中午字幕无吗 | 国产精品婷婷 | 中国一级片在线观看 | 国内精品久久久久影院一蜜桃 | 成人午夜网址 | 香蕉视频在线免费看 | 在线看污网站 | 久久夜色精品国产欧美一区麻豆 | 国产成人精品电影久久久 | 亚洲国产成人高清精品 | 久久看视频| 欧美大片aaa | 久久精品看片 | 久久亚洲福利视频 | 亚洲精品黄网站 | 久草在线观看资源 | 手机看片国产 | 四虎www| 久久久久久久久久免费 | 91在线看 | 一级国产视频 | 九九视频精品免费 | 五月婷婷色播 | 国产成人久久精品亚洲 | 天天爱天天操 | 天天亚洲综合 | 日韩高清精品一区二区 | 人人舔人人爽 | 免费国产在线精品 | 亚洲美女免费精品视频在线观看 | 免费三及片 | av网站免费线看精品 | 伊人伊成久久人综合网站 | www.888av| 九九久久久久久久久激情 | 一级黄色片网站 | 亚洲激情五月 | 亚洲欧美视频一区二区三区 | 久久免费视频国产 | 久久不见久久见免费影院 | 欧美精彩视频 | 麻豆久久精品 | 97电影院在线观看 | 黄色毛片视频免费 | 久久99国产一区二区三区 | 福利精品在线 | 久久久久久中文字幕 | 国产1级视频 | 91精品国产麻豆 | 成人久久精品视频 | 在线免费国产 | 波多野结衣久久资源 | 丁香六月婷婷 | 美女黄频视频大全 | 丁香综合五月 | 国产精品黄色影片导航在线观看 | 日韩视频一区二区三区 | 日日夜夜精品免费观看 | 黄色中文字幕 | 黄色国产在线 | 91在线最新| 亚洲精品ww| 手机av在线网站 | 国产精品久久毛片 | 久草资源在线观看 | 99se视频在线观看 | 久久精品亚洲一区二区三区观看模式 | 黄色视屏在线免费观看 | 国产精品永久在线观看 | 91资源在线免费观看 | 天天插天天爱 | 91色影院| 婷婷激情五月综合 | 欧美日韩一区二区免费在线观看 | 91私密保健 | 国产精品久久久久久久久久久免费 | 久久国产成人午夜av影院宅 | 免费污片| 五月天狠狠操 | 91成人天堂久久成人 | 狠狠狠狠狠操 | 久久99久久精品 | 亚洲乱码在线观看 | 亚洲一区二区黄色 | 日韩一级成人av | 人人爽人人爱 | 狠狠色丁香婷婷综合最新地址 | 免费看片网页 | 成人国产综合 | 色婷婷av一区二 | 国产免费又粗又猛又爽 | 黄色的网站在线 | 午夜免费福利视频 | 欧美综合色在线图区 | 国产亚洲精品综合一区91 | 在线免费亚洲 | 欧美乱码精品一区二区 | 日韩精品视频久久 | 综合激情网 | 五月天激情综合网 | 深爱激情五月网 | 国产成人精品一区二区三区免费 | 国产黄色大片 | 黄色资源在线观看 | 国产免费久久久久 | 青青河边草观看完整版高清 | 欧美性色综合 | 九色91在线| 国产高清在线免费观看 | 天天射夜夜爽 | 久久免费观看少妇a级毛片 久久久久成人免费 | 免费视频久久久久 | 欧美成人a在线 | 日日干日日色 | 免费一级片在线 | 激情丁香综合五月 | 亚洲婷婷免费 | 免费久久99精品国产婷婷六月 | 91精品久久久久久久久 | 久草在线 | 97国产大学生情侣白嫩酒店 | 日韩1级片 | 亚洲精品国产精品国自产观看 | 缴情综合网五月天 | 欧美久久九九 | 日韩精品一区二区电影 | 欧美一区二区三区在线播放 | 色多多污污在线观看 | 成人aⅴ视频 | 狠狠综合久久av | 久久99视频精品 | 国产精品乱码久久久 | 狠狠干中文字幕 | 亚洲另类交 | av资源网在线播放 | 天堂av在线网站 | 91亚洲精品久久久 | 国产精品高清免费在线观看 | 韩国av一区二区三区在线观看 | 久久综合色天天久久综合图片 | 日韩大片在线免费观看 | 日韩最新理论电影 | 国产91亚洲精品 | 天天操夜夜叫 | 五月婷婷综合久久 | 国产一区二区高清视频 | 久草干 | 国产一区视频在线播放 | 深夜免费福利视频 | 91精品国自产在线偷拍蜜桃 | 成人黄色电影在线播放 | 亚洲黑丝少妇 | 欧美精品一级视频 | 最新成人在线 | 久久免费a| bbw av| 日韩精品 在线视频 | 正在播放久久 | 性色av免费看 | 人人插人人舔 | 亚洲 在线| 亚洲第一成网站 | 国产精品黄色av | 国产成人一区二区精品非洲 | 亚洲精品网址在线观看 | 亚洲不卡av一区二区三区 | 91成熟丰满女人少妇 | 97**国产露脸精品国产 | 特及黄色片 | 国产精品久久久久久久久久直播 | 久久手机精品视频 | 色欧美日韩 | 国产又粗又猛又色又黄视频 | 特级黄色视频毛片 | 国产91亚洲精品 | 在线免费91 | 亚洲va韩国va欧美va精四季 | 国产视频不卡 | 久久成年人网站 | 亚洲成人资源在线观看 | 婷婷六月天在线 | 欧美在线观看视频一区二区 | 久久伊人精品天天 | 精品一区二区三区香蕉蜜桃 | 超碰在线观看99 | 亚洲精品视频免费在线观看 | 99精品免费久久久久久久久 | 日韩免费b | 久精品视频免费观看2 | 久久久免费在线观看 | 色天堂在线视频 | 国产99久久精品一区二区300 | 99草视频 | 久久国产精品99久久久久久进口 | 国产麻豆剧传媒免费观看 | 成人午夜免费剧场 | 国产精品欧美久久久久三级 | 天天色天天操综合网 | 最近最新中文字幕视频 | 欧美精品国产综合久久 | 亚洲影院色| 日韩电影在线观看一区二区 | 亚洲香蕉在线观看 | 久久精品99久久久久久2456 | av大全在线免费观看 | 中文电影网 | 国产精品久久9 | 成人黄色在线 | 久久99国产精品免费网站 | 99热这里有精品 | 91av在线电影 | 日韩毛片在线一区二区毛片 | 97在线播放 | 国产黄色在线网站 | 天天操狠狠干 | 国产精品视频最多的网站 | 日女人免费视频 | 麻豆影视在线观看 | 黄色大片网 | 亚洲成a人片77777潘金莲 | 国产美女网站视频 | 在线亚洲成人 | 在线观看国产一区二区 | 综合色影院| 国产精品久久久久久久久久久久午夜 | 久久tv视频 | 在线观看视频你懂的 | 欧美成年人在线视频 | 婷婷久久综合九色综合 | 亚洲专区在线播放 | 亚洲精品久久激情国产片 | 天天爱天天操 | 欧美一级日韩免费不卡 | 色福利网 | 伊人超碰在线 | 五月天激情在线 | 欧美久久久久久久久久 | 亚洲国产精品久久久久 | 欧美一级在线 | 日韩国产欧美在线播放 | 欧美最猛性xxx | 欧美极品久久 | 亚洲一级影院 | 精品一二三四在线 | 亚洲男男gaygay无套同网址 | 国产日韩在线看 | 国产在线视频资源 | 久久艹人人 | 天天曰 | 最近中文字幕完整高清 | 久久久久国产精品一区二区 | 精品国产91亚洲一区二区三区www | 狠狠的日 | 97精品超碰一区二区三区 | 日本一区二区三区视频在线播放 | 在线免费视频 你懂得 | 久久在线 | 国产精品美女在线 | 精品产品国产在线不卡 | 日本中文字幕电影在线免费观看 | 国产一区二三区好的 | 网站免费黄 | 国产一区视频在线观看免费 | 亚洲精品播放 | 国产特级毛片aaaaaaa高清 | 免费高清在线观看电视网站 | 成人午夜电影免费在线观看 | 超碰免费97| 九九在线视频免费观看 | 久久精品亚洲一区二区三区观看模式 | 精品 激情 | 99c视频高清免费观看 | 成人a级网站 | 色成人亚洲网 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 一区二区三区影院 | 国产青春久久久国产毛片 | 99中文视频在线 | 亚洲成人精品 | 成人一区二区三区中文字幕 | 在线91观看 | 免费看黄在线看 | 亚洲一二三在线 | 久色婷婷| 亚洲第一久久久 | 午夜精品福利一区二区三区蜜桃 | 午夜视频播放 | 在线a视频 | 国产精品乱码久久久久 | 国产a级精品| 91精品视频一区 | 麻豆91网站| 黄色日本片 | 久久免费资源 | 91亚洲国产成人久久精品网站 | 国产精品毛片久久久久久久久久99999999 | 国产在线一卡 | 片网站 | 国产免费a | 五月婷婷黄色 | 国产一级视频在线观看 | 日本资源中文字幕在线 | 在线观看的av网站 | 日本精品久久久一区二区三区 | 丁香六月国产 | 天天操天天舔天天干 | 免费精品视频在线观看 | 欧美国产大片 | 久久专区| 国产一区二区不卡视频 | 在线黄av | 91九色视频在线播放 | 久久九九精品 | 国产第一福利 | av在线播放网址 | 国产精品久久久久久久久久久久午夜片 | 精品国产乱码久久久久久久 | 超碰在97| 欧美性视频网站 | 国产精品9999久久久久仙踪林 | 亚欧洲精品视频在线观看 | 国产精品男女视频 | 中文字幕在线观看完整版电影 | 亚洲激精日韩激精欧美精品 | 国产中文欧美日韩在线 | 午夜精品久久久久久久99水蜜桃 | 色网站在线免费观看 | 五月天天天操 | 制服丝袜天堂 | 久久国产亚洲精品 | 国产看片免费 | 久久五月情影视 | 国产精品久久精品国产 | 99这里只有精品视频 | 精品久久久久久久久亚洲 | 成人宗合网 | 一级成人免费 | 人人插超碰 | 日韩电影中文字幕在线观看 | 人人爽人人爽人人片 | av.com在线 | 国产精品一区二区电影 | 日日操夜 | 99高清视频有精品视频 | 久久久久二区 | 亚洲专区在线视频 | 国产精品亚洲人在线观看 | 美女av电影 | 国产免费美女 | 就操操久久 | 五月天九九| 久草.com| 中国一级片在线 | 国产精品久久久久久久久久久免费看 | 色成人亚洲 | 久久深夜 | 精品亚洲一区二区三区 | 免费在线观看视频一区 | 91黄色免费网站 | 国产成人黄色片 | 国产亚洲精品久久久网站好莱 | 免费久久99精品国产婷婷六月 | 国产成人免费在线 | 91.精品高清在线观看 | 在线a人v观看视频 | 中文字幕av有码 | 成年人在线免费看 | 色吊丝在线永久观看最新版本 | 午夜 久久 tv | 丁香婷婷综合五月 | 久久涩视频 | 国产一区在线播放 | 免费观看av | 国产高清久久久久 | 婷婷视频导航 | 中文字幕在线色 | 91传媒免费观看 | 四虎4hu永久免费 | 91视频最新网址 | 久久精品韩国 | 又黄又爽又无遮挡的视频 | 91精品久久久久久久久久久久久 | 免费看污污视频的网站 | 亚洲精品日韩一区二区电影 | 亚洲欧美视屏 | 国产在线精品视频 | 欧美成人xxxx | 成年人视频在线观看免费 | 国产1区在线 | 国产精品久久久久一区二区三区共 | 91丨九色丨蝌蚪丨老版 | 亚洲精品五月天 | 日韩精品aaa | 日av免费| 亚洲春色奇米影视 | 中日韩免费视频 | 中文字幕一区二区三区四区久久 | 久久精品日本啪啪涩涩 | 久久久国际精品 | 成人免费视频视频在线观看 免费 | 亚洲综合在线五月天 | 国产亚洲情侣一区二区无 | 在线色网站| 成人网在线免费视频 | www成人精品| 青青草国产免费 | 黄色一级大片在线免费看产 | 国产一区视频免费在线观看 | 黄色网址中文字幕 | 中文字幕 国产视频 | 国产成人在线免费观看 | 一区二区 不卡 | av成人免费| 综合色天天 | 国产a国产a国产a | 国产精品欧美久久 | 中文av影院 | 中文国产成人精品久久一 | 天天干天天弄 | 亚洲天堂网在线观看视频 | 热久久国产 | 精品黄色在线观看 | 国产91精品一区二区麻豆网站 | 国产黄色片在线免费观看 | 久久久久久久免费观看 | 99久久99久久精品国产片 | 国产日韩欧美视频 | 国产一区二区三区四区在线 | 久久香蕉影视 | 少妇高潮流白浆在线观看 | 色丁香色婷婷 | 日韩一级电影网站 | 国产色视频一区二区三区qq号 | 91成人精品在线 | 在线亚洲观看 | 激情视频一区二区三区 | 久久精品国产精品亚洲精品 | 久久免费一级片 | 在线观看精品一区 | 久久国产精品成人免费浪潮 | 成人av高清 | 91女神的呻吟细腰翘臀美女 | 免费福利在线视频 | 久久久久久久久久久福利 | 亚洲精品综合在线观看 | 99亚洲精品在线 | 久久99热精品这里久久精品 | 亚洲精品影视在线观看 | 国产精品亚洲片夜色在线 | 亚洲精品理论片 | 日韩在线三区 | 天天操天天干天天操天天干 | 免费涩涩网站 | 欧美国产不卡 | 2020天天干夜夜爽 | 超碰激情在线 | av在线影片 | 福利视频午夜 | 一区二区激情视频 | 一区二区三区精品久久久 | 91入口在线观看 | 国产精品女同一区二区三区久久夜 | 99一区二区三区 | 天天舔天天搞 | 最近日本中文字幕a | 岛国精品一区二区 | 国产免费久久久久 | 欧美一级片在线免费观看 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 亚洲三级视频 | 天天操比| 91综合久久一区二区 | 天天射综合网站 | 99久热在线精品视频成人一区 | 国产精品com | 国产精品第三页 | 成人免费在线观看av | 96国产精品| 九九九免费视频 | 亚洲h视频在线 | 五月婷婷综合激情网 | 欧美性黑人 | 日日添夜夜添 | 国产又黄又硬又爽 | 97人人爽人人 | 久久99久久99免费视频 | 国产精品黄| 国产精品久久久久久a | 久久99久久99精品免视看婷婷 | 免费福利在线观看 | 国产免费成人 | 欧美日韩电影在线播放 | 国产一二区视频 | 国产福利专区 | 91av成人 | 999成人 | 久久国产成人午夜av影院潦草 | www.成人久久 | 美女视频黄,久久 | 99久久综合国产精品二区 | 成年性视频 | 中文字幕丰满人伦在线 | 免费看片黄色 | 国产亚洲精品久久久网站好莱 | 超碰成人免费电影 | 亚洲欧美日韩不卡 | 婷婷在线资源 | 激情大尺度视频 | 婷婷在线不卡 | 狠日日 | 天天操天天干天天综合网 | 婷婷av网 | 99视频在线免费看 | 国产国语在线 | 日韩电影一区二区三区在线观看 | 香蕉久久久久久av成人 | 免费日韩一区二区 | 成人黄大片视频在线观看 | 综合久久久 | 国产精品免费不卡 | 亚洲精品美女 | 奇米影视在线99精品 | 久久艹影院 | 黄色网www| 中文字幕亚洲精品在线观看 | 免费在线观看一级片 | 久久黄色网址 | 五月婷亚洲 | 精品国产亚洲在线 | 亚洲 中文 欧美 日韩vr 在线 | 最近的中文字幕大全免费版 | 亚洲国产精品99久久久久久久久 | 久久精品一区二区三区中文字幕 | 久久看视频 | 久草在线手机视频 | 999久久久 | 天天色视频 | 亚洲日本成人网 | aaa毛片视频 | 超碰在线日本 | 国产高清视频在线观看 | 国产99久久久国产精品免费看 | 亚洲精品午夜国产va久久成人 | 日韩中字在线 | 手机看片中文字幕 | 亚洲精品福利在线观看 | 欧美成人猛片 | 国产精品久久久久久a | 在线成人免费av | 久久综合精品国产一区二区三区 | 色999视频 | 在线观看日韩免费视频 | 一级特黄aaa大片在线观看 | 国产一区二区在线免费播放 | 四虎成人精品 | 亚洲精品欧美成人 | 久久精品高清 | 国产在线精品国自产拍影院 | 99久久精品国产欧美主题曲 | 成人在线播放av | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲美女精品 | 久久久www成人免费毛片 | 91免费看黄色 | 欧美成人高清 | 亚洲日本成人 | 精品在线小视频 | 日本中文字幕在线免费观看 | 国产美女精品人人做人人爽 | 亚洲精品在线观看视频 | 97精品欧美91久久久久久 | 欧美精品久久久久久久久久丰满 | 国产高清精品在线 | 久精品一区 | 国产99久久久国产精品成人免费 | 欧美激情视频一区 | 亚洲精品在线免费播放 | 久草免费福利在线观看 | 国产精品6 | 精品一区二区影视 | 久久婷婷影视 | 国产成人在线一区 | 日韩成人精品在线观看 | 一区二区中文字幕在线观看 | 亚洲成a人片综合在线 | 亚州成人av在线 | 偷拍福利视频一区二区三区 | 久久精品国产精品亚洲精品 | 2022国产精品视频 | 国产香蕉97碰碰久久人人 | 国产午夜精品一区二区三区嫩草 | 在线天堂v | 天天拍天天爽 | 在线看一区二区 | 2020天天干夜夜爽 | av888.com| 国产资源在线视频 | 免费在线观看日韩 | 免费看在线看www777 | 日韩在线精品一区 | 免费看黄色91 | 免费观看全黄做爰大片国产 | 精品国产精品久久一区免费式 | 在线视频 区 | 91最新在线视频 | 精品91在线 | 免费看国产曰批40分钟 | 日本中文在线 | 国产精品久久99综合免费观看尤物 | 在线观看一区视频 | 久草久视频| 日日操天天操夜夜操 | 久草视频在线免费 | 日韩欧美电影网 | 中国一 片免费观看 | 免费观看视频的网站 | 黄色在线看网站 | 久久九九免费 | 在线 你懂 | 精品国自产在线观看 | 国产精品高潮在线观看 | 激情婷婷在线观看 | 夜色在线资源 | 91探花系列在线播放 | 开心色停停| 九九在线高清精品视频 | 天天综合久久综合 | 精品久久综合 | 国产97碰免费视频 | 欧美另类xxxxx | 国产在线理论片 | 最近免费中文字幕 | 黄色网址在线播放 | 在线小视频 | 日本精品一二区 | 激情久久综合网 | 国产丝袜网站 | 亚洲国产精品影院 | 国产一级片毛片 | 亚洲国产精品va在线看黑人动漫 | 婷婷中文字幕在线观看 | 色婷婷五 | 国产精品一区二区视频 | 国语黄色片 | 亚洲精品字幕在线 | 日本中文字幕网 | 免费中文字幕视频 | 人人玩人人添人人澡97 | 久久国产免 | 亚洲精品国产片 | 三级在线视频观看 | 综合久色 | 国产在线观看xxx | 免费看国产精品 | 一区二区不卡 | 中文免费| 香蕉影院在线观看 | 日韩在线视频免费看 | 一区二区三区av在线 | 久久综合狠狠综合久久激情 | 一本大道久久精品懂色aⅴ 五月婷社区 | 午夜.dj高清免费观看视频 | 在线观看视频中文字幕 | 精品国产免费av | 在线 国产 日韩 | 亚洲人视频在线 | 中文字幕精品www乱入免费视频 | 91资源在线免费观看 | 国产亚洲激情视频在线 | 一区二区三区四区不卡 | 夜夜婷婷 | 日韩一区二区久久 | 免费观看一区二区三区视频 | 麻豆视频在线免费看 | 免费能看的av | 97在线精品国自产拍中文 | 精品国产一区二区三区免费 | а天堂中文最新一区二区三区 | 免费精品久久久 | 精品国产123 | 欧美日韩二区三区 | 久草久草在线观看 | 日本在线精品视频 | 久久精品看 | 亚洲伦理一区二区 | 亚洲精品黄色 | 国产一级小视频 | 日本中文字幕电影在线免费观看 | 中文字幕日韩国产 | 很黄很污的视频网站 | 日韩69av | 最近更新的中文字幕 | 久久久久久久久久久久久久av | 亚洲aⅴ一区二区三区 | 黄色国产精品 | 日韩毛片在线免费观看 | 九九国产视频 | 国产中文字幕国产 | 欧美日韩在线观看视频 | 右手影院亚洲欧美 | 久久精品中文视频 | 在线播放国产一区二区三区 | 五月天丁香综合 | 日本久久免费视频 | 亚洲精品网址在线观看 | 日韩视频图片 | 国产激情电影综合在线看 | 在线免费观看视频 | 久久精品视频国产 | 1区2区3区在线观看 三级动图 | 国产精品美女久久久久久免费 | 欧美va电影 | 狠狠狠操 | 国产裸体视频网站 | 97精品国产97久久久久久免费 | 欧美精品一级视频 | 亚洲精品在线视频 | 97色综合 | 亚洲 欧洲 国产 日本 综合 | 99久久精品无码一区二区毛片 | 国产精品免费麻豆入口 | 国产99久久九九精品 | 午夜视频黄 | 国产99久久久国产精品 | 高清av中文字幕 | 中文字幕黄色av | 日韩精品一区二区在线观看视频 | 国产精品久久久久久久久婷婷 | 亚洲美女视频网 | 日韩午夜av | 亚洲最新av | 欧美 日韩 久久 | 欧美了一区在线观看 | 婷婷www| 美女国产精品 | 中文字幕免费播放 | 日韩中文字幕a | 人人精久 | 国产精品精品国产色婷婷 | 日韩色视频在线观看 | 亚洲一级免费电影 | 特级免费毛片 | 最新日韩视频在线观看 | 热久精品 | 国产成人三级 | 中文永久免费观看 | 中文字幕精品在线 | 国产精品美女久久久久久久 | 蜜桃视频精品 | 天天天天综合 | 五月婷在线播放 | 午夜在线资源 | 亚洲精品欧美成人 | a视频在线观看免费 | 国产精品美女999 | 激情五月***国产精品 | 日韩专区在线 | 日韩av电影中文字幕在线观看 | 色婷婷在线播放 | 欧美日韩免费观看一区=区三区 | 97精品国产aⅴ | 日韩精品免费在线视频 | 亚洲成年人在线播放 | 中文字幕在线中文 | 成人av一级片 | 免费亚洲视频在线观看 | 精品国产1区二区 | 日韩va欧美va亚洲va久久 | 日韩三级视频在线观看 | 国产精品久久久久久久久婷婷 | 97精品一区 | 99婷婷狠狠成为人免费视频 | 在线精品在线 | 9999在线 | 成人h在线播放 | 国产精品一区二区在线看 | 中文在线8资源库 | 成人av网站在线播放 | 久久精品精品电影网 | 天天综合视频在线观看 | 久久电影中文字幕视频 | 日韩av电影网站在线观看 | av成人在线观看 | 97国产视频 | 四虎www com | 国产成人精品999在线观看 | 国产精品热视频 | 91黄色在线看 | 久久热亚洲 | 黄色动态图xx| 96av视频| 男女免费视频观看 | 特黄特色特刺激视频免费播放 | 在线播放亚洲激情 | 午夜精品久久久久久久爽 | 色综合人人 | 久久香蕉国产精品麻豆粉嫩av | 国产精品久久久久久久久搜平片 | 啪啪午夜免费 | 黄色天堂在线观看 | 激情文学综合丁香 | 五月婷在线播放 | www.97视频| 日本电影黄色 | av一级久久| 久久在线观看 | 久久1区 | 高清一区二区三区av | 亚洲天堂色婷婷 | 开心丁香婷婷深爱五月 | 天天干天天操天天 | 黄色一级大片在线免费看国产一 | 天天操天天添 | 18岁免费看片 | 成年人在线电影 | 久福利 | 成年人免费在线 | 手机在线黄色网址 | 精品视频9999 | 久久不卡免费视频 | 日韩在线视频一区 | 91传媒在线观看 | 麻豆视频观看 | 日韩在线观看网站 | 日韩精品视频免费 | 国产理论在线 | 国产中文伊人 | 欧美日韩xxx | 久久黄网站 | 国产色婷婷 | 欧美日韩三级在线观看 | 99精品黄色 | 成 人 黄 色 视频免费播放 | 亚洲人天堂 | 国产精品毛片久久 | 国产手机精品视频 | av电影不卡| 精品女同一区二区三区在线观看 | 91视频在线观看下载 | 国产精品久久久久久久免费大片 | 国产免费又粗又猛又爽 | 欧美日韩国产免费视频 | 国产91影视 | 成人黄色在线 | 欧美日韩一区二区三区在线观看视频 | 手机看片久久 | 天天操夜夜操天天射 | 日本午夜免费福利视频 | 国产剧情一区在线 | 激情自拍av | www黄色软件 | 高清av在线免费观看 | 日本性视频 | 国产视频亚洲视频 | 国产免费中文字幕 | 国产香蕉在线 | 在线免费看片 | 久久成视频 | 在线播放 亚洲 | a天堂一码二码专区 | 99精品国产免费久久久久久下载 | 精品久久一 | 观看免费av | 色全色在线资源网 | 一区二区三区福利 | 色吊丝在线永久观看最新版本 | 久久久国产一区二区三区 | 99热999| 久久精品视频在线观看免费 | 9999国产精品 | 国产精品视频免费在线观看 | 中文字幕在线视频一区二区 | 亚洲理论在线 | 国产高清视频免费观看 | 99久久婷婷国产一区二区三区 | 中文字幕精品三级久久久 | 欧美精品第一 | 91免费在线看片 | 国产一区二区手机在线观看 | 超碰国产97 | 91久久久国产精品 | 9999在线观看 | 99热日本 | 中文字幕日韩国产 | 18久久久久久 | 韩国av一区二区 | 玖玖在线播放 | 色五月色开心色婷婷色丁香 | 最新超碰在线 | 国产va精品免费观看 | 国内精品久久久久久久影视简单 | 天天操天天色天天射 | 国产精品一区免费观看 | 免费看污片 | 亚洲中字幕 | 97成人精品视频在线观看 | 超碰人人在 |