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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

vb.net datagridview数据批量导入sql_导入:Java实现大批量数据导入导出(100W以上)

發布時間:2023/12/19 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vb.net datagridview数据批量导入sql_导入:Java实现大批量数据导入导出(100W以上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

閱讀文本大概需要3分鐘。

來源:https://www.cnblogs.com/barrywxx/p/10700221.html

最近業務方有一個需求,需要一次導入超過100萬數據到系統數據庫??赡艽蠹沂紫葧?#xff0c;這么大的數據,干嘛通過程序去實現導入,為什么不直接通過SQL導入到數據庫。

一、為什么一定要在代碼實現

說說為什么不能通過SQL直接導入到數據庫,而是通過程序實現:

1. 首先,這個導入功能開始提供頁面導入,只是開始業務方保證的一次只有<3W的數據導入;

2. 其次,業務方導入的內容需要做校驗,比如門店號,商品號等是否系統存在,需要程序校驗;

3. 最后,業務方導入的都是編碼,數據庫中還要存入對應名稱,方便后期查詢,SQL導入也是無法實現的。

基于以上上三點,就無法直接通過SQL語句導入數據庫。那就只能老老實實的想辦法通過程序實現。

二、程序實現有以下技術難點

1. 一次讀取這么大的數據量,肯定會導致服務器內存溢出;

2. 調用接口保存一次傳輸數據量太大,網絡傳輸壓力會很大;

3. 最終通過SQL一次批量插入,對數據庫壓力也比較大,如果業務同時操作這個表數據,很容易造成死鎖。

三、解決思路

根據列舉的技術難點我的解決思路是:

1. 既然一次讀取整個導入文件,那就先將文件流上傳到服務器磁盤,然后分批從磁盤讀取(支持多線程讀取),這樣就防止內存溢出;

2. 調用插入數據庫接口也是根據分批讀取的內容進行調用;

3. 分批插入數據到數據庫。

四、具體實現代碼

1. 流式上傳文件到服務器磁盤

 略,一般Java上傳就可以實現,這里就不貼出。

2. 多線程分批從磁盤讀取

批量讀取文件:

  • import org.slf4j.Logger;

  • import org.slf4j.LoggerFactory;

  • import java.io.File;

  • import java.io.FileNotFoundException;

  • import java.io.RandomAccessFile;

  • import java.nio.ByteBuffer;

  • import java.nio.channels.FileChannel;

  • /**

  • * 類功能描述:批量讀取文件

  • *

  • * @author WangXueXing create at 19-3-14 下午6:47

  • * @version 1.0.0

  • */

  • public class BatchReadFile {

  • private final Logger LOGGER = LoggerFactory.getLogger(BatchReadFile.class);

  • /**

  • * 字符集UTF-8

  • */

  • public static final String CHARSET_UTF8 = "UTF-8";

  • /**

  • * 字符集GBK

  • */

  • public static final String CHARSET_GBK = "GBK";

  • /**

  • * 字符集gb2312

  • */

  • public static final String CHARSET_GB2312 = "gb2312";

  • /**

  • * 文件內容分割符-逗號

  • */

  • public static final String SEPARATOR_COMMA = ",";

  • private int bufSize = 1024;

  • // 換行符

  • private byte key = "\n".getBytes()[0];

  • // 當前行數

  • private long lineNum = 0;

  • // 文件編碼,默認為gb2312

  • private String encode = CHARSET_GB2312;

  • // 具體業務邏輯監聽器

  • private ReaderFileListener readerListener;

  • public void setEncode(String encode) {

  • this.encode = encode;

  • }

  • public void setReaderListener(ReaderFileListener readerListener) {

  • this.readerListener = readerListener;

  • }

  • /**

  • * 獲取準確開始位置

  • * @param file

  • * @param position

  • * @return

  • * @throws Exception

  • */

  • public long getStartNum(File file, long position) throws Exception {

  • long startNum = position;

  • FileChannel fcin = new RandomAccessFile(file, "r").getChannel();

  • fcin.position(position);

  • try {

  • int cache = 1024;

  • ByteBuffer rBuffer = ByteBuffer.allocate(cache);

  • // 每次讀取的內容

  • byte[] bs = new byte[cache];

  • // 緩存

  • byte[] tempBs = new byte[0];

  • while (fcin.read(rBuffer) != -1) {

  • int rSize = rBuffer.position();

  • rBuffer.rewind();

  • rBuffer.get(bs);

  • rBuffer.clear();

  • byte[] newStrByte = bs;

  • // 如果發現有上次未讀完的緩存,則將它加到當前讀取的內容前面

  • if (null != tempBs) {

  • int tL = tempBs.length;

  • newStrByte = new byte[rSize + tL];

  • System.arraycopy(tempBs, 0, newStrByte, 0, tL);

  • System.arraycopy(bs, 0, newStrByte, tL, rSize);

  • }

  • // 獲取開始位置之后的第一個換行符

  • int endIndex = indexOf(newStrByte, 0);

  • if (endIndex != -1) {

  • return startNum + endIndex;

  • }

  • tempBs = substring(newStrByte, 0, newStrByte.length);

  • startNum += 1024;

  • }

  • } finally {

  • fcin.close();

  • }

  • return position;

  • }

  • /**

  • * 從設置的開始位置讀取文件,一直到結束為止。如果 end設置為負數,剛讀取到文件末尾

  • * @param fullPath

  • * @param start

  • * @param end

  • * @throws Exception

  • */

  • public void readFileByLine(String fullPath, long start, long end) throws Exception {

  • File fin = new File(fullPath);

  • if (!fin.exists()) {

  • throw new FileNotFoundException("沒有找到文件:" + fullPath);

  • }

  • FileChannel fileChannel = new RandomAccessFile(fin, "r").getChannel();

  • fileChannel.position(start);

  • try {

  • ByteBuffer rBuffer = ByteBuffer.allocate(bufSize);

  • // 每次讀取的內容

  • byte[] bs = new byte[bufSize];

  • // 緩存

  • byte[] tempBs = new byte[0];

  • String line;

  • // 當前讀取文件位置

  • long nowCur = start;

  • while (fileChannel.read(rBuffer) != -1) {

  • int rSize = rBuffer.position();

  • rBuffer.rewind();

  • rBuffer.get(bs);

  • rBuffer.clear();

  • byte[] newStrByte;

  • //去掉表頭

  • if(nowCur == start){

  • int firstLineIndex = indexOf(bs, 0);

  • int newByteLenth = bs.length-firstLineIndex-1;

  • newStrByte = new byte[newByteLenth];

  • System.arraycopy(bs, firstLineIndex+1, newStrByte, 0, newByteLenth);

  • } else {

  • newStrByte = bs;

  • }

  • // 如果發現有上次未讀完的緩存,則將它加到當前讀取的內容前面

  • if (null != tempBs && tempBs.length != 0) {

  • int tL = tempBs.length;

  • newStrByte = new byte[rSize + tL];

  • System.arraycopy(tempBs, 0, newStrByte, 0, tL);

  • System.arraycopy(bs, 0, newStrByte, tL, rSize);

  • }

  • // 是否已經讀到最后一位

  • boolean isEnd = false;

  • nowCur += bufSize;

  • // 如果當前讀取的位數已經比設置的結束位置大的時候,將讀取的內容截取到設置的結束位置

  • if (end > 0 && nowCur > end) {

  • // 緩存長度 - 當前已經讀取位數 - 最后位數

  • int l = newStrByte.length - (int) (nowCur - end);

  • newStrByte = substring(newStrByte, 0, l);

  • isEnd = true;

  • }

  • int fromIndex = 0;

  • int endIndex = 0;

  • // 每次讀一行內容,以 key(默認為\n) 作為結束符

  • while ((endIndex = indexOf(newStrByte, fromIndex)) != -1) {

  • byte[] bLine = substring(newStrByte, fromIndex, endIndex);

  • line = new String(bLine, 0, bLine.length, encode);

  • lineNum++;

  • // 輸出一行內容,處理方式由調用方提供

  • readerListener.outLine(line.trim(), lineNum, false);

  • fromIndex = endIndex + 1;

  • }

  • // 將未讀取完成的內容放到緩存中

  • tempBs = substring(newStrByte, fromIndex, newStrByte.length);

  • if (isEnd) {

  • break;

  • }

  • }

  • // 將剩下的最后內容作為一行,輸出,并指明這是最后一行

  • String lineStr = new String(tempBs, 0, tempBs.length, encode);

  • readerListener.outLine(lineStr.trim(), lineNum, true);

  • } finally {

  • fileChannel.close();

  • fin.deleteOnExit();

  • }

  • }

  • /**

  • * 查找一個byte[]從指定位置之后的一個換行符位置

  • *

  • * @param src

  • * @param fromIndex

  • * @return

  • * @throws Exception

  • */

  • private int indexOf(byte[] src, int fromIndex) throws Exception {

  • for (int i = fromIndex; i < src.length; i++) {

  • if (src[i] == key) {

  • return i;

  • }

  • }

  • return -1;

  • }

  • /**

  • * 從指定開始位置讀取一個byte[]直到指定結束位置為止生成一個全新的byte[]

  • *

  • * @param src

  • * @param fromIndex

  • * @param endIndex

  • * @return

  • * @throws Exception

  • */

  • private byte[] substring(byte[] src, int fromIndex, int endIndex) throws Exception {

  • int size = endIndex - fromIndex;

  • byte[] ret = new byte[size];

  • System.arraycopy(src, fromIndex, ret, 0, size);

  • return ret;

  • }

  • }

  • 以上是關鍵代碼:利用FileChannel與ByteBuffer從磁盤中分批讀取數據

    多線程調用批量讀取:?

  • /**

  • * 類功能描述: 線程讀取文件

  • *

  • * @author WangXueXing create at 19-3-14 下午6:51

  • * @version 1.0.0

  • */

  • public class ReadFileThread extends Thread {

  • private ReaderFileListener processDataListeners;

  • private String filePath;

  • private long start;

  • private long end;

  • private Thread preThread;

  • public ReadFileThread(ReaderFileListener processDataListeners,

  • long start,long end,

  • String file) {

  • this(processDataListeners, start, end, file, null);

  • }

  • public ReadFileThread(ReaderFileListener processDataListeners,

  • long start,long end,

  • String file,

  • Thread preThread) {

  • this.setName(this.getName()+"-ReadFileThread");

  • this.start = start;

  • this.end = end;

  • this.filePath = file;

  • this.processDataListeners = processDataListeners;

  • this.preThread = preThread;

  • }

  • @Override

  • public void run() {

  • BatchReadFile readFile = new BatchReadFile();

  • readFile.setReaderListener(processDataListeners);

  • readFile.setEncode(processDataListeners.getEncode());

  • try {

  • readFile.readFileByLine(filePath, start, end + 1);

  • if(this.preThread != null){

  • this.preThread.join();

  • }

  • } catch (Exception e) {

  • throw new RuntimeException(e);

  • }

  • }

  • }

  • 監聽讀取:

  • import java.util.ArrayList;

  • import java.util.List;

  • /**

  • * 類功能描述:讀文件監聽父類

  • *

  • * @author WangXueXing create at 19-3-14 下午6:52

  • * @version 1.0.0

  • */

  • public abstract class ReaderFileListener<T> {

  • // 一次讀取行數,默認為1000

  • private int readColNum = 1000;

  • /**

  • * 文件編碼

  • */

  • private String encode;

  • /**

  • * 分批讀取行列表

  • */

  • private List<String> rowList = new ArrayList<>();

  • /**

  • *其他參數

  • */

  • private T otherParams;

  • /**

  • * 每讀取到一行數據,添加到緩存中

  • * @param lineStr 讀取到的數據

  • * @param lineNum 行號

  • * @param over 是否讀取完成

  • * @throws Exception

  • */

  • public void outLine(String lineStr, long lineNum, boolean over) throws Exception {

  • if(null != lineStr && !lineStr.trim().equals("")){

  • rowList.add(lineStr);

  • }

  • if (!over && (lineNum % readColNum == 0)) {

  • output(rowList);

  • rowList = new ArrayList<>();

  • } else if (over) {

  • output(rowList);

  • rowList = new ArrayList<>();

  • }

  • }

  • /**

  • * 批量輸出

  • *

  • * @param stringList

  • * @throws Exception

  • */

  • public abstract void output(List<String> stringList) throws Exception;

  • /**

  • * 設置一次讀取行數

  • * @param readColNum

  • */

  • protected void setReadColNum(int readColNum) {

  • this.readColNum = readColNum;

  • }

  • public String getEncode() {

  • return encode;

  • }

  • public void setEncode(String encode) {

  • this.encode = encode;

  • }

  • public T getOtherParams() {

  • return otherParams;

  • }

  • public void setOtherParams(T otherParams) {

  • this.otherParams = otherParams;

  • }

  • public List<String> getRowList() {

  • return rowList;

  • }

  • public void setRowList(List<String> rowList) {

  • this.rowList = rowList;

  • }

  • }

  • 實現監聽讀取并分批調用插入數據接口:

  • import com.today.api.finance.ImportServiceClient;

  • import com.today.api.finance.request.ImportRequest;

  • import com.today.api.finance.response.ImportResponse;

  • import com.today.api.finance.service.ImportService;

  • import com.today.common.Constants;

  • import com.today.domain.StaffSimpInfo;

  • import com.today.util.EmailUtil;

  • import com.today.util.UserSessionHelper;

  • import com.today.util.readfile.ReadFile;

  • import com.today.util.readfile.ReadFileThread;

  • import com.today.util.readfile.ReaderFileListener;

  • import org.slf4j.Logger;

  • import org.slf4j.LoggerFactory;

  • import org.springframework.beans.factory.annotation.Value;

  • import org.springframework.stereotype.Service;

  • import org.springframework.util.StringUtils;

  • import java.io.File;

  • import java.io.FileInputStream;

  • import java.util.ArrayList;

  • import java.util.Arrays;

  • import java.util.List;

  • import java.util.concurrent.FutureTask;

  • import java.util.stream.Collectors;

  • /**

  • * 類功能描述:報表導入服務實現

  • *

  • * @author WangXueXing create at 19-3-19 下午1:43

  • * @version 1.0.0

  • */

  • @Service

  • public class ImportReportServiceImpl extends ReaderFileListener<ImportRequest> {

  • private final Logger LOGGER = LoggerFactory.getLogger(ImportReportServiceImpl.class);

  • @Value("${READ_COL_NUM_ONCE}")

  • private String readColNum;

  • @Value("${REPORT_IMPORT_RECEIVER}")

  • private String reportImportReceiver;

  • /**

  • * 財務報表導入接口

  • */

  • private ImportService service = new ImportServiceClient();

  • /**

  • * 讀取文件內容

  • * @param file

  • */

  • public void readTxt(File file, ImportRequest importRequest) throws Exception {

  • this.setOtherParams(importRequest);

  • ReadFile readFile = new ReadFile();

  • try(FileInputStream fis = new FileInputStream(file)){

  • int available = fis.available();

  • long maxThreadNum = 3L;

  • // 線程粗略開始位置

  • long i = available / maxThreadNum;

  • this.setRowList(new ArrayList<>());

  • StaffSimpInfo staffSimpInfo = ((StaffSimpInfo)UserSessionHelper.getCurrentUserInfo().getData());

  • String finalReportReceiver = getEmail(staffSimpInfo.getEmail(), reportImportReceiver);

  • this.setReadColNum(Integer.parseInt(readColNum));

  • this.setEncode(ReadFile.CHARSET_GB2312);

  • //這里單獨使用一個線程是為了當maxThreadNum大于1的時候,統一管理這些線程

  • new Thread(()->{

  • Thread preThread = null;

  • FutureTask futureTask = null ;

  • try {

  • for (long j = 0; j < maxThreadNum; j++) {

  • //計算精確開始位置

  • long startNum = j == 0 ? 0 : readFile.getStartNum(file, i * j);

  • long endNum = j + 1 < maxThreadNum ? readFile.getStartNum(file, i * (j + 1)) : -2L;

  • //具體監聽實現

  • preThread = new ReadFileThread(this, startNum, endNum, file.getPath(), preThread);

  • futureTask = new FutureTask(preThread, new Object());

  • futureTask.run();

  • }

  • if(futureTask.get() != null) {

  • EmailUtil.sendEmail(EmailUtil.REPORT_IMPORT_EMAIL_PREFIX, finalReportReceiver, "導入報表成功", "導入報表成功" ); //todo 等文案

  • }

  • } catch (Exception e){

  • futureTask.cancel(true);

  • try {

  • EmailUtil.sendEmail(EmailUtil.REPORT_IMPORT_EMAIL_PREFIX, finalReportReceiver, "導入報表失敗", e.getMessage());

  • } catch (Exception e1){

  • //ignore

  • LOGGER.error("發送郵件失敗", e1);

  • }

  • LOGGER.error("導入報表類型:"+importRequest.getReportType()+"失敗", e);

  • } finally {

  • futureTask.cancel(true);

  • }

  • }).start();

  • }

  • }

  • private String getEmail(String infoEmail, String reportImportReceiver){

  • if(StringUtils.isEmpty(infoEmail)){

  • return reportImportReceiver;

  • }

  • return infoEmail;

  • }

  • /**

  • * 每批次調用導入接口

  • * @param stringList

  • * @throws Exception

  • */

  • @Override

  • public void output(List<String> stringList) throws Exception {

  • ImportRequest importRequest = this.getOtherParams();

  • List<List<String>> dataList = stringList.stream()

  • .map(x->Arrays.asList(x.split(ReadFile.SEPARATOR_COMMA)).stream().map(String::trim).collect(Collectors.toList()))

  • .collect(Collectors.toList());

  • LOGGER.info("上傳數據:{}", dataList);

  • importRequest.setDataList(dataList);

  • // LOGGER.info("request對象:{}",importRequest, "request增加請求字段:{}", importRequest.data);

  • ImportResponse importResponse = service.batchImport(importRequest);

  • LOGGER.info("===========SUCESS_CODE======="+importResponse.getCode());

  • //導入錯誤,輸出錯誤信息

  • if(!Constants.SUCESS_CODE.equals(importResponse.getCode())){

  • LOGGER.error("導入報表類型:"+importRequest.getReportType()+"失敗","返回碼為:", importResponse.getCode() ,"返回信息:",importResponse.getMessage());

  • throw new RuntimeException("導入報表類型:"+importRequest.getReportType()+"失敗"+"返回碼為:"+ importResponse.getCode() +"返回信息:"+importResponse.getMessage());

  • }

  • // if(importResponse.data != null && importResponse.data.get().get("batchImportFlag")!=null) {

  • // LOGGER.info("eywa-service請求batchImportFlag不為空");

  • // }

  • importRequest.setData(importResponse.data);

  • }

  • }

  • 注意:第53行代碼:long maxThreadNum = 3L;
    就是設置分批讀取磁盤文件的線程數,我設置為3,大家不要設置太大,不然多個線程讀取到內存,也會造成服務器內存溢出。

    以上所有批次的批量讀取并調用插入接口都成功發送郵件通知給導入人,任何一個批次失敗直接發送失敗郵件。?

    數據庫分批插入數據:

  • /**

  • * 批量插入非聯機第三方導入賬單

  • * @param dataList

  • */

  • def insertNonOnlinePayment(dataList: List[NonOnlineSourceData]) : Unit = {

  • if (dataList.nonEmpty) {

  • CheckAccountDataSource.mysqlData.withConnection { conn =>

  • val sql =

  • s""" INSERT INTO t_pay_source_data

  • (store_code,

  • store_name,

  • source_date,

  • order_type,

  • trade_type,

  • third_party_payment_no,

  • business_type,

  • business_amount,

  • trade_time,

  • created_at,

  • updated_at)

  • VALUES (?,?,?,?,?,?,?,?,?,NOW(),NOW())"""

  • conn.setAutoCommit(false)

  • var stmt = conn.prepareStatement(sql)

  • var i = 0

  • dataList.foreach { x =>

  • stmt.setString(1, x.storeCode)

  • stmt.setString(2, x.storeName)

  • stmt.setString(3, x.sourceDate)

  • stmt.setInt(4, x.orderType)

  • stmt.setInt(5, x.tradeType)

  • stmt.setString(6, x.tradeNo)

  • stmt.setInt(7, x.businessType)

  • stmt.setBigDecimal(8, x.businessAmount.underlying())

  • stmt.setString(9, x.tradeTime.getOrElse(null))

  • stmt.addBatch()

  • if ((i % 5000 == 0) && (i != 0)) { //分批提交

  • stmt.executeBatch

  • conn.commit

  • conn.setAutoCommit(false)

  • stmt = conn.prepareStatement(sql)

  • }

  • i += 1

  • }

  • stmt.executeBatch()

  • conn.commit()

  • }

  • }

  • }

  •  以上代碼實現每5000 行提交一次批量插入,防止一次提較數據庫的壓力。

    往期精彩

    01?漫談發版哪些事,好課程推薦

    02?Linux的常用最危險的命令

    03?精講Spring Boot—入門+進階+實例

    04?優秀的Java程序員必須了解的GC哪些

    05?互聯網支付系統整體架構詳解

    關注我

    每天進步一點點

    喜歡!在看? 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的vb.net datagridview数据批量导入sql_导入:Java实现大批量数据导入导出(100W以上)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    日韩精品综合在线 | 亚洲综合成人av | 国产精品 999 | 处女av在线 | japanese黑人亚洲人4k | 免费看三级黄色片 | 国产精品嫩草69影院 | 国产精品久久99综合免费观看尤物 | 久久精品精品电影网 | 人人干干人人 | 人人射人人爱 | 国产精品99久久免费观看 | 亚洲视频精选 | 久久人人添人人爽添人人88v | 九九九视频精品 | 麻豆视频www | 97在线公开视频 | 国产精品成人品 | 毛片一二区 | 草 免费视频 | 久久污视频 | av中文天堂 | 欧美精品一二 | 国产无套精品久久久久久 | 色婷婷狠| 成人黄色片免费看 | 99久久精品国产亚洲 | 久久乐九色婷婷综合色狠狠182 | 亚洲一区二区三区在线看 | 国内精品中文字幕 | 狠狠色狠狠色综合日日小说 | 久久夜色精品国产欧美乱 | 国产精品久久久久久久久久尿 | 在线播放日韩av | 久久免费视频1 | 久艹在线播放 | 欧美亚洲国产精品久久高清浪潮 | 国产看片网站 | 国内精品久久久久久久 | www,黄视频 | 久久国产精品二国产精品中国洋人 | 91在线看片 | 中文字幕丝袜 | 成人在线免费视频观看 | 麻豆影视在线免费观看 | 成年人国产在线观看 | 久久99深爱久久99精品 | 久草在线最新视频 | 中文字幕中文中文字幕 | 91麻豆精品国产91久久久久久久久 | 五月婷av| 成年人免费看的视频 | 中文视频在线看 | 日本久久久久久科技有限公司 | 中文字幕在线观看一区二区三区 | 日韩簧片在线观看 | 久久99精品久久久久婷婷 | 黄视频网站大全 | 最新av网址在线观看 | 亚洲每日更新 | 国产精品久久久久久久久久不蜜月 | 亚洲精品在线免费播放 | 91丨porny丨九色 | 国产高清在线精品 | 午夜性盈盈 | av在线小说 | 91视频91蝌蚪 | 狠狠操狠狠干天天操 | 免费久久网 | 免费久久99精品国产婷婷六月 | 狠狠狠干 | 亚洲精品国产欧美在线观看 | 欧美极品xxxx | 中文成人字幕 | 国产精品永久久久久久久久久 | 欧美日韩免费在线视频 | 国产精品伦一区二区三区视频 | 亚洲精品免费在线观看 | 婷婷成人综合 | 人人爽人人爽人人片av免 | 狠狠干激情 | 欧美一级大片在线观看 | 亚洲一区二区三区毛片 | 99在线免费观看视频 | 国产成人精品一区二区三区免费 | 成人a免费视频 | 国产打女人屁股调教97 | 欧美色888| 中文字幕在线观看完整版 | 久久久久精 | 在线视频1卡二卡三卡 | av在线免费观看网站 | 福利在线看片 | 久久高清国产视频 | 午夜在线国产 | 国产麻豆精品传媒av国产下载 | 97热视频| 亚洲精品www久久久久久 | 欧美日韩在线视频免费 | 国产精品第一视频 | 中文字幕在线观看亚洲 | 97理论电影 | 久久婷婷丁香 | av在线播放中文字幕 | 亚洲视频免费在线观看 | 国内成人精品视频 | 久久99久久久久 | 丁香一区二区 | 五月婷香蕉久色在线看 | 四虎免费在线观看视频 | 99精品视频免费观看视频 | 欧美日韩高清一区二区三区 | 色婷婷综合成人av | 久久久久美女 | 香蕉视频在线播放 | 成人综合婷婷国产精品久久免费 | 国产精品v欧美精品v日韩 | 亚洲午夜不卡 | 亚洲色影爱久久精品 | 久草国产在线 | 欧美精品久久久久久久免费 | 亚洲激情在线视频 | 六月丁香社区 | 蜜臀久久99精品久久久无需会员 | 在线亚洲天堂网 | 免费网站在线观看人 | 99热在线精品观看 | 日韩免费av片 | 成人免费观看视频网站 | 成人在线播放av | 国产视频在线观看免费 | 日日夜夜天天久久 | 国产一级片久久 | 天天爱天天操天天爽 | 四虎www| 在线日韩一区 | 婷婷综合| 久久人人插 | 黄色.com| 成人av资源在线 | 欧美一级裸体视频 | 欧美日韩不卡在线 | 国产精品九九九九九九 | 欧美不卡视频在线 | 97天堂| 午夜18视频在线观看 | 97色婷婷 | 成人黄色大片在线免费观看 | 久草视频看看 | 午夜视频色 | 色视频在线 | 日韩欧美国产免费播放 | 西西444www大胆无视频 | 91精品亚洲影视在线观看 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产日韩精品在线观看 | 成人免费视频网站在线观看 | 国产成人三级在线播放 | 91麻豆看国产在线紧急地址 | 99久久精品久久亚洲精品 | 欧美日高清视频 | 中文字幕成人一区 | 国产一级免费在线 | 欧美综合久久 | 成人免费xxx在线观看 | 在线观看91视频 | 又色又爽又激情的59视频 | 中文字幕在线观看你懂的 | 亚洲少妇天堂 | 欧美 日韩 视频 | 2019精品手机国产品在线 | 日韩免费三区 | 毛片激情永久免费 | 国产精品女人久久久久久 | 久久婷婷久久 | 婷婷色网站 | 色射色 | www色com| 国产精华国产精品 | 日韩视频一区二区三区在线播放免费观看 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 婷婷去俺也去六月色 | 精品国产一区二区三区噜噜噜 | 爱爱av网站| 黄网站色视频免费观看 | 在线小视频你懂的 | 国产视频亚洲精品 | 日批网站在线观看 | 92中文资源在线 | 中文字幕在线观看完整版电影 | 99免费在线观看视频 | 欧美三级免费 | 亚洲日本va中文字幕 | 久久国产精品99久久久久久老狼 | 国产精品久久久久久久久久不蜜月 | 免费看精品久久片 | 最新久久免费视频 | 久久久.com | 少妇搡bbbb搡bbb搡69 | 国产一区二区三区免费观看视频 | ,久久福利影视 | 久久激情视频 久久 | 日日摸日日碰 | 不卡精品视频 | 亚洲精品久久视频 | 精品欧美一区二区精品久久 | 久久99久久久久久 | 国产精品久久久久久久av大片 | 九九综合九九综合 | 欧美日韩在线观看一区 | 亚洲精欧美一区二区精品 | 国产不卡在线视频 | 免费看污的网站 | 国产黄色片在线免费观看 | 日韩电影在线看 | 美女黄频在线观看 | 蜜桃av人人夜夜澡人人爽 | 黄色一级大片在线免费看国产一 | 欧美国产日韩久久 | 免费久久网站 | 亚洲永久精品在线 | 久久在线免费观看 | 久久福利影视 | 欧美日韩中 | 亚洲一级影院 | 五月天电影免费在线观看一区 | 日韩精品一区二区三区水蜜桃 | 亚洲码国产日韩欧美高潮在线播放 | 91精品国产一区 | 日韩区欠美精品av视频 | 亚州视频在线 | 久久久99精品免费观看app | 色综合婷婷 | 亚洲成年人免费网站 | 激情视频在线高清看 | 日韩免| 欧洲色综合| 99热这里是精品 | 婷婷激情五月 | 中文av在线免费观看 | 韩日精品在线观看 | 日本在线观看中文字幕无线观看 | 天天干夜夜 | 91av在线免费观看 | 超碰999 | 久久国产成人午夜av影院宅 | 亚洲激情电影在线 | 日本99精品 | 亚洲精品免费观看视频 | 看国产黄色大片 | 国产精品免费在线观看视频 | 99视频精品| 国产成人一区二区三区影院在线 | 不卡电影一区二区三区 | 国产原创中文在线 | 国外成人在线视频网站 | 国产一级一级国产 | 成人在线免费小视频 | 久久免费99精品久久久久久 | 成人一区影院 | 日韩精品一区二 | 国内精品久久久久久久影视麻豆 | 69国产精品成人在线播放 | 手机看片 | 99久久9 | 免费看污在线观看 | 久久y| 日韩av在线免费播放 | 国产在线日本 | 久久国产一二区 | 久草在线最新 | av在线h | 成人av电影免费在线观看 | 免费高清无人区完整版 | 99精品成人 | 亚洲午夜不卡 | 精品99视频| 欧美日韩国产一二 | 久久精品成人 | 欧美va天堂在线电影 | 久香蕉 | 伊人婷婷综合 | 日韩一区二区三区免费电影 | 2024国产精品视频 | 狠狠色狠狠综合久久 | 精品999在线| 久久久久久国产精品 | 亚洲黄色片一级 | 日本公妇色中文字幕 | 99视频国产精品 | 日韩免费在线 | 2018精品视频 | 天天射天天射天天射 | 久久久国产精品电影 | 成人资源网 | 狠狠操影视 | а天堂中文最新一区二区三区 | 久久在线影院 | 免费手机黄色网址 | 欧美日韩在线观看一区 | 97超碰免费在线观看 | 色综合五月天 | 麻豆视频免费网站 | 国产精品女 | 亚洲dvd| 九九在线免费视频 | 九九热在线播放 | 91精品在线免费观看视频 | 精品麻豆| 91国内产香蕉 | 国产人成看黄久久久久久久久 | 久久久久免费网站 | 天天激情综合网 | 色婷婷激情网 | 99久久国产免费免费 | www.五月天婷婷.com | 毛片网在线观看 | 国产在线观看免费av | 一二区电影 | wwxxxx日本 | 亚洲激情在线视频 | a久久免费视频 | 欧美日韩高清免费 | 四虎国产永久在线精品 | 五月婷婷导航 | 99热精品在线 | 天天操比| 色综合久久久久久久久五月 | 在线观看成人 | 久久99国产精品二区护士 | a特级毛片| 一本大道久久精品懂色aⅴ 五月婷社区 | 三级小视频在线观看 | 成 人 黄 色视频免费播放 | 不卡av在线免费观看 | 国产不卡视频在线 | 亚洲精品久久久久中文字幕m男 | 日韩免费在线 | 在线观看视频黄 | 日韩在线理论 | 在线激情电影 | 国产一区精品在线观看 | 亚洲欧美va| 亚洲精品午夜久久久久久久 | 国产高清视频在线免费观看 | ww视频在线观看 | 久久精品超碰 | 中文字幕一区二 | 69夜色精品国产69乱 | 久久久免费播放 | 国产精品私拍 | 国产艹b视频 | 美女黄网久久 | 国产在线精品一区二区不卡了 | 国产99自拍 | 成人av日韩 | 国产拍在线 | 免费成视频 | 六月丁香激情综合色啪小说 | 日韩区在线观看 | 香蕉视频在线免费 | 精品国产一区二区三区男人吃奶 | 亚洲无吗av | 日日操天天操狠狠操 | 日日爱av| 在线黄色免费av | 中文字幕亚洲欧美日韩 | 久久久国产高清 | 亚洲视频1区2区 | 亚洲女人天堂成人av在线 | 激情久久伊人 | 综合网成人 | 色午夜影院| 夜夜澡人模人人添人人看 | 国产999精品久久久久久绿帽 | 久久在线影院 | 丁香婷婷久久久综合精品国产 | 在线免费视频你懂的 | 99精品视频在线观看视频 | 五月婷婷综合在线 | 久久免费成人精品视频 | 国产精品成人国产乱 | 2017狠狠干 | 成人国产在线 | 成人免费精品 | 免费看一级黄色 | 日韩一区正在播放 | 91av久久| 91视频免费网址 | 天天干天天操天天操 | 日韩精品播放 | 最新国产中文字幕 | 黄色av播放| av网站免费线看精品 | 四虎成人免费观看 | 色综合久久久久综合99 | 99免费精品视频 | 久久五月激情 | 色综合久久久久久久久五月 | 久久私人影院 | 久久精品视频3 | 91在线视频观看免费 | 91九色老 | 亚洲视频电影在线 | 成人在线免费视频观看 | 狠狠干天天操 | 免费进去里的视频 | 中文av资源站 | 在线91精品 | 久久不射影院 | 国产精品久久久久久久久久久免费看 | 久久久免费高清视频 | zzijzzij亚洲成熟少妇 | 欧美伦理一区二区 | 欧美日韩免费观看一区=区三区 | 免费黄色网址大全 | 免费av福利 | 91av片 | 国产原创在线 | 99热在线免费观看 | 久久久久夜色 | 青青草国产精品视频 | 国产精品毛片一区二区三区 | 日韩午夜av | 在线观看mv的中文字幕网站 | 国产不卡一二三区 | 国产一区二区三区免费在线 | 欧美一级激情 | 91精品资源 | 在线观看你懂的网站 | 国产精品久免费的黄网站 | 在线电影中文字幕 | 日本三级香港三级人妇99 | 亚洲免费av网站 | 日韩视频www| 天天爱天天舔 | 国产福利专区 | 免费a v观看| 国产男女无遮挡猛进猛出在线观看 | 久久综合色天天久久综合图片 | 色婷婷综合视频在线观看 | 手机在线看永久av片免费 | 九九免费在线观看视频 | 五月婷婷综合在线观看 | 国产一级做a爱片久久毛片a | 国产一二三四在线视频 | 精品视频在线免费 | 亚洲精品玖玖玖av在线看 | 五月天视频网站 | 天天操狠狠操网站 | 国产第一页在线播放 | 黄色一级免费电影 | 国产免费一区二区三区最新 | 久久人人爽爽 | 99在线视频精品 | 国产一区成人在线 | 国产一区二区久久 | 夜夜视频| 午夜婷婷在线播放 | 免费在线观看av网站 | 久久综合色影院 | 日本动漫做毛片一区二区 | 99热官网 | 四虎成人精品 | 久久久久综合视频 | 国产 日韩 欧美 自拍 | 精品免费 | 色插综合 | 国产在线高清精品 | 久久国产免费视频 | www.97色.com | 日韩欧美v | 国产96av| 国产做爰视频 | 日韩精品久久久久久中文字幕8 | 国产乱对白刺激视频在线观看女王 | 狠狠色丁香婷婷综合 | 人人澡人摸人人添学生av | 天天爱天天操 | 久久99国产精品久久99 | 亚洲精品在线观看中文字幕 | 玖玖综合网 | 久久久综合精品 | 在线视频欧美精品 | 色婷婷激情电影 | 久久国精品 | 色偷偷av男人天堂 | 一级黄色电影网站 | 欧美日韩国产亚洲乱码字幕 | 欧美日韩在线免费视频 | 国产123区在线观看 国产精品麻豆91 | 婷婷伊人五月 | 香蕉视频在线观看免费 | 毛片精品免费在线观看 | 国产成人在线免费观看 | 狠狠干狠狠操 | 二区三区中文字幕 | 97久久久免费福利网址 | www免费| 97超碰精品 | 免费在线观看成人小视频 | 中文字幕精品一区 | 97在线免费 | 国产中文字幕在线视频 | 欧美成人va| 亚洲天堂自拍视频 | 成人在线视频一区 | 69国产精品视频免费观看 | 色综合小说 | 亚洲精品观看 | 精品久久久久久久久久 | 亚洲天堂网视频在线观看 | 国产在线播放观看 | 国产精品久久久久一区二区国产 | 亚洲成人家庭影院 | 久久99最新地址 | 国产999精品久久久影片官网 | 婷色| 操操日 | 日韩成人xxxx | 久久综合色8888 | 国产精品18久久久久久vr | 国产剧情一区二区在线观看 | 91精品亚洲影视在线观看 | 精品乱码一区二区三四区 | www激情com| av电影在线观看 | 狠狠色丁香婷婷综合久小说久 | 国产在线观看网站 | 欧美日韩一区二区三区免费视频 | 久久午夜免费视频 | 国产又粗又硬又长又爽的视频 | www最近高清中文国语在线观看 | 国产色综合天天综合网 | 久草在线久 | 国产原创在线 | 亚洲国产久 | 久久久久久国产精品免费 | 视频在线99re| 亚洲国产精品久久久 | av一区二区在线观看中文字幕 | 91在线色 | 欧美综合色在线图区 | 日韩久久视频 | 福利一区二区三区四区 | 国产九色在线播放九色 | 日韩午夜电影网 | 人人爽影院 | 精品国产亚洲日本 | 日韩精品一区二区在线观看 | 精壮的侍卫呻吟h | 日韩高清不卡一区二区三区 | 一级片黄色片网站 | 天天色天天色天天色 | 国产精品99久久免费观看 | 91在线永久 | 色姑娘综合 | 久草在线国产 | 免费午夜av | 中文字幕在线观看免费高清完整版 | 国产在线美女 | 亚洲精品在线国产 | 久久高清国产 | 丁香六月婷 | 99久久激情 | 亚洲高清av| 日韩精品一区二 | av看片网址| 久久亚洲综合国产精品99麻豆的功能介绍 | 欧美日韩国产二区三区 | 69国产盗摄一区二区三区五区 | 91.精品高清在线观看 | 麻豆一区二区三区视频 | 色中色综合 | 五月婷婷色播 | 中文字幕一区在线观看视频 | 日韩一区精品 | 美女视频黄在线 | 国产丝袜制服在线 | 亚洲成人影音 | 日本中文字幕在线观看 | av在线免费播放网站 | 日本久热 | 97视频免费在线观看 | 亚欧日韩成人h片 | 西西大胆啪啪 | 亚洲精品久久久久中文字幕m男 | 天天天色综合a | 狠狠天天 | 美女视频网站久久 | 欧美久草网| 丁香婷婷激情啪啪 | 国产香蕉av | 日日操日日操 | 青青河边草免费观看完整版高清 | 蜜臀精品久久久久久蜜臀 | 久久经典国产视频 | 国产69久久精品成人看 | 欧美精品免费在线 | 日韩婷婷 | 久久视频中文字幕 | 午夜久操| 久久99亚洲精品久久 | 日日夜夜网 | 国产成人亚洲在线电影 | 91传媒视频在线观看 | 久久综合色一综合色88 | 欧美国产日韩一区 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 亚洲激情视频在线 | 最新av在线网站 | 水蜜桃亚洲一二三四在线 | 四虎成人精品在永久免费 | 久久艹精品 | 四虎在线永久免费观看 | 日韩91av | 亚洲人成人99网站 | 久久久久久亚洲精品 | 91自拍成人 | 精品久久精品久久 | 午夜电影久久久 | 99精品欧美一区二区三区黑人哦 | 午夜av在线播放 | 国产99久久精品一区二区300 | 日韩高清三区 | 欧洲精品视频一区二区 | 免费视频一区二区 | 伊人天堂久久 | 久久久久久久久免费视频 | 久久久久亚洲最大xxxx | 亚洲精品欧洲精品 | 亚洲国产视频在线 | 国产视频亚洲精品 | 欧美日韩视频观看 | 亚洲毛片一区二区三区 | 96av麻豆蜜桃一区二区 | 成人a视频在线观看 | 日本性视频 | 精品99视频| 国产一区二区三区四区在线 | 国产剧情一区二区在线观看 | 少妇搡bbbb搡bbb搡忠贞 | 亚洲黄色三级 | 2024av| 欧美视频二区 | 中文字幕在线专区 | 日韩成人在线一区二区 | 手机看片午夜 | 日韩视频一区二区 | 韩国精品一区二区三区六区色诱 | 亚洲无吗视频在线 | 久久精品之| 玖玖玖在线 | 日韩在线一区二区免费 | 伊人伊成久久人综合网站 | 国产原创在线 | 日本少妇高清做爰视频 | 色噜噜狠狠狠狠色综合 | 成人片在线播放 | 国产精品久久久久久久久久久久午 | 成年人免费在线观看 | 国产在线精品国自产拍影院 | 久久精品一区二 | 91pony九色丨交换 | 99精品视频网 | 永久免费毛片在线观看 | 九九热只有精品 | 青青河边草免费观看完整版高清 | 69绿帽绿奴3pvideos | 久久露脸国产精品 | 精品亚洲网 | 日韩三级一区 | 高清av在线免费观看 | 成人在线视频你懂的 | 精品久久久久久亚洲综合网站 | 三级av网站 | 国产精品99久久久精品免费观看 | 国产一区在线免费观看视频 | 国产精品一区二区电影 | 免费看av在线 | 久精品视频在线观看 | 免费观看第二部31集 | 亚洲综合黄色 | 日韩专区在线观看 | 91高清免费 | 亚洲精品视频www | 中文字幕在线观看网站 | 99九九视频| 中文字幕在线影视资源 | 久草久草在线观看 | 欧美性超爽 | 日韩精品一卡 | 麻豆精品传媒视频 | www.99久久.com | 欧美激情综合五月 | 麻豆久久一区二区 | 伊人久久在线观看 | 狠狠色丁香婷婷综合最新地址 | 欧美va天堂在线电影 | 天天干,天天插 | 久久国产精品99久久久久久进口 | 国产成人精品亚洲精品 | 在线视频欧美精品 | 亚洲精品午夜久久久久久久 | 婷婷免费视频 | 婷婷亚洲激情 | 午夜久久久久久久久久久 | 日韩av影视 | 成年人看片| 亚洲国产精品资源 | 深夜视频久久 | 亚洲视频在线免费看 | 日本最新中文字幕 | 91精品福利在线 | 高清国产午夜精品久久久久久 | 国产精品欧美日韩在线观看 | 九九在线高清精品视频 | 国产片免费在线观看视频 | 国产精品一区电影 | 国产精品小视频网站 | 亚洲一二区精品 | 亚洲 欧美 另类人妖 | 综合色在线观看 | 国产美女久久久 | 国产成人a v电影 | 激情av五月婷婷 | 久在线| 国产精品午夜在线 | 免费一级片观看 | 中文字幕视频免费观看 | 69国产精品视频 | 日韩三级.com| 久久久精品二区 | 成人在线黄色 | 国产在线a不卡 | 欧美日韩成人 | 亚洲另类久久 | 国产视频手机在线 | 国产一级做a爱片久久毛片a | 久久久精品免费看 | 日韩av成人免费看 | 成人小视频在线免费观看 | 中文字幕在线观看完整版电影 | 成人h电影在线观看 | 国产在线精品二区 | 六月色 | 中文免费观看 | 丁香九月婷婷综合 | 日韩免费观看av | 精品久久一区 | 日本久久久精品视频 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 免费观看视频的网站 | 亚洲九九九 | 果冻av在线 | 久久er99热精品一区二区 | 日韩精品一区二区不卡 | 久久久久久综合 | 狠狠色伊人亚洲综合网站野外 | 中文字幕在线观看免费观看 | 免费网站黄| 六月激情网 | 久久精品视频2 | 97在线公开视频 | 能在线观看的日韩av | 亚洲精品国产精品国产 | 亚洲国产成人久久综合 | 日本成人黄色片 | 国产免费观看高清完整版 | 免费在线观看av网站 | 亚洲一级电影视频 | 综合婷婷 | 日韩免费看的电影 | 色美女在线 | 探花视频在线观看免费版 | 四虎在线观看 | 最新av在线网址 | 欧美在线不卡一区 | 四虎在线观看 | 色之综合网| 国产精品私人影院 | 成人在线视频一区 | 超碰在线观看av.com | 国产精品中文在线 | 99热这里有精品 | 黄污网| 久久一区二区三区超碰国产精品 | 久草在线资源免费 | 欧美综合在线视频 | 欧美性极品xxxx娇小 | 99久久久久久久久久 | 成人在线视频你懂的 | 欧美日韩不卡一区 | 99久久久成人国产精品 | 久久婷婷一区二区三区 | 欧美精品视| 午夜久久成人 | 亚洲免费在线 | 中文字幕国产精品一区二区 | 国产专区欧美专区 | 黄色官网在线观看 | 婷婷在线不卡 | 亚洲国产精品va在线看黑人动漫 | 日本中文字幕视频 | 日韩在线观看你懂的 | 欧美一级特黄aaaaaa大片在线观看 | 中日韩在线视频 | 五月婷婷开心中文字幕 | 手机成人免费视频 | 九九在线精品视频 | 国产精品第一页在线观看 | 国产在线a免费观看 | 国产精品99精品 | 免费毛片aaaaaa | 亚洲经典在线 | 天天干国产 | 在线精品观看国产 | 91久久在线观看 | 深夜免费小视频 | 黄网站色欧美视频 | 一级片免费视频 | 人人干在线观看 | 日韩一区二区三区高清在线观看 | 韩国一区二区av | 久久久精品视频网站 | 天天射天天爱天天干 | 最近日本字幕mv免费观看在线 | av在线进入| 亚洲综合激情五月 | 免费观看性生交大片3 | 国产男女无遮挡猛进猛出在线观看 | 亚洲日本va午夜在线电影 | 天天添夜夜操 | 亚洲视屏在线播放 | 西西大胆啪啪 | 国产一区二区在线播放视频 | 黄色精品一区二区 | 国产成人精品久久久 | 亚洲视频在线播放 | 亚洲精品国产精品国自产观看 | 视频在线国产 | 天堂久久电影网 | www视频免费在线观看 | 综合色天天| 久久久免费网站 | 欧美不卡视频在线 | 久久国产精品视频免费看 | 久久久久亚洲精品国产 | 最近字幕在线观看第一季 | 亚洲97在线 | bbw av| 婷婷激情五月综合 | 91av视频导航 | 色婷婷影视 | 一区二区高清在线 | 激情丁香5月 | 亚洲精品国产精品国自产观看 | 高清精品在线 | 黄色毛片在线 | 国产综合91 | 亚洲 中文 欧美 日韩vr 在线 | 久久久不卡影院 | 精品在线一区二区三区 | 91久久久久久久一区二区 | 五月宗合网 | 麻豆视频入口 | 999成人 | 免费观看的av | 天天色天天操综合网 | 六月天综合网 | 91在线免费观看国产 | 精品视频成人 | 麻豆免费在线视频 | 久久国产三级 | 免费的国产精品 | 亚洲作爱 | 日韩av电影一区 | 美女久久精品 | 欧美日韩亚洲国产一区 | 制服丝袜亚洲 | 人人澡人人添人人爽一区二区 | 亚洲精品国产精品久久99 | 亚洲资源视频 | 成人在线视频在线观看 | 国产精品手机看片 | 亚洲理论影院 | 婷婷久久一区 | 日韩av成人在线观看 | 国产在线日本 | 国产亚洲字幕 | 成人国产精品电影 | 天天干天天操天天拍 | 欧美韩国日本在线观看 | 色婷婷色 | 婷婷国产精品 | 91精品啪在线观看国产 | 精品少妇一区二区三区在线 | 九九在线高清精品视频 | 欧美不卡视频在线 | 国产中文字幕在线播放 | 欧美日韩国产一区 | 人人草人| 免费在线观看国产黄 | 国产不卡视频在线播放 | 五月激情丁香图片 | 五月综合色 | 四虎永久免费在线观看 | 欧美在线观看小视频 | 国产精品一区欧美 | 久久只有精品 | www.大网伊人| 99人久久精品视频最新地址 | 久草在线99 | 中文字幕日韩高清 | 国产激情久久久 | 亚洲欧美视频一区二区三区 | 成人国产电影在线观看 | 97在线影视| 麻豆视频在线免费观看 | 91精品一区二区三区久久久久久 | 中文字幕成人网 | 欧美精品在线一区二区 | www.com黄| 国产精品 日韩精品 | 丁香婷婷色 | 91精品在线免费视频 | 日韩理论电影在线观看 | 亚洲成人动漫在线观看 | 久久激情视频免费观看 | 久久久综合电影 | 久久精品一区二区三区视频 | 国产精品自拍在线 | 久久精品国产一区二区 | 射射色 | 国产一级片久久 | 97视频中文字幕 | 日本不卡123 | 一区二区三区在线免费播放 | 99精品一区二区三区 | 国产一区高清在线观看 | 超碰97免费观看 | 欧美日韩在线网站 | 国产亲近乱来精品 | 日本中文字幕在线观看 | 韩国精品一区二区三区六区色诱 | 国产69精品久久99不卡的观看体验 | 五月婷婷影院 | 香蕉视频在线视频 | 人人天天夜夜 | 色噜噜狠狠狠狠色综合久不 | 国产精品久久免费看 | 久久99亚洲精品久久久久 | 综合铜03 | 亚洲欧美国产精品久久久久 | 99热播精品| 日韩中文字幕电影 | 久久只精品99品免费久23小说 | 日韩欧美视频在线免费观看 | 亚洲综合国产精品 | 欧美一区日韩一区 | 在线免费三级 | 日韩中文字幕第一页 | 毛片无卡免费无播放器 | 国产一区在线免费 | 国产精品中文字幕在线观看 | 欧美日韩在线观看一区二区 | 在线观看视频中文字幕 | 超碰av在线 | 久久久精品久久日韩一区综合 | 亚洲精品久久激情国产片 | 国产精品 欧美 日韩 | 在线免费观看黄色 | 国产人成一区二区三区影院 | 中文字幕成人av | 三上悠亚一区二区在线观看 | 六月丁香在线视频 | 91在线视频播放 | 亚洲va欧美va国产va黑人 | 草在线| 亚洲免费精品视频 | 久久综合久久综合九色 | 欧美精品久久久久 | 日韩欧美视频一区二区 | 婷婷激情在线观看 | 中文字幕一区二区三区久久 | 亚洲久在线 | 国产精品2018 | 亚洲涩涩色 | 久久婷婷一区二区三区 | 国产九九精品视频 | 999精品在线 | 午夜精品一区二区三区在线观看 | 亚洲91av | 天天综合网天天综合色 | 日韩精品免费在线观看 | 日韩电影中文字幕在线 | 免费久草视频 | 久久久久久蜜av免费网站 |