久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

基于Freemarker的代碼自動生成器實戰(zhàn):擺脫重復(fù)CRUD

基于Freemarker的代碼自動生成器實戰(zhàn):擺脫重復(fù)CRUD 做過幾年后端開發(fā)應(yīng)該都體會過被重復(fù)CRUD代碼支配的感覺。表建好了字段列出來接下來就是實體類、Mapper接口、XML、Service、Controller一套組合拳下來幾千行代碼基本是復(fù)制粘貼改字段名。手寫一時爽維護(hù)火葬場尤其當(dāng)字段有增減或者需要統(tǒng)一加個邏輯刪除字段時所有相關(guān)文件全得跟著改一遍。后來我開始用模板引擎做代碼自動生成試過幾款工具最終固定在Freemarker上。這篇文章就專門聊聊基于Freemarker的代碼自動生成器是怎么設(shè)計的模板怎么寫數(shù)據(jù)模型怎么組織以及實際生成過程中最常見的坑。如果你也厭倦了無腦的CRUD想把手動重復(fù)勞動交給腳本這篇文章應(yīng)該能給你一個可以直接抄作業(yè)的起點。1. 為什么我選擇用Freemarker做代碼生成1.1 代碼自動生成到底解決什么問題一個典型的后端接口從數(shù)據(jù)庫表到對外服務(wù)中間要經(jīng)歷多少層實體類負(fù)責(zé)映射字段Mapper接口聲明增刪改查方法Mapper XML里寫SQLService層處理業(yè)務(wù)和事務(wù)Controller層接收參數(shù)返回結(jié)果。這還不算DTO、VO、Query對象以及最簡單的分頁查詢。別說小公司沒有嚴(yán)格的架構(gòu)規(guī)范一旦業(yè)務(wù)量上來這些文件的數(shù)量會增長得很快。我見過有人用Excel維護(hù)表結(jié)構(gòu)然后手動照著建實體類字段一多就漏改編譯期根本發(fā)現(xiàn)不了。也有人用IDEA的live template但每個新表都要重新操作一遍只能減少一半的機(jī)械動作。真正解決問題的思路很簡單把“代碼的固定骨架”抽出來做成模板把“會變化的部分”比如類名、字段名、字段類型、注釋抽出來做成數(shù)據(jù)兩者一合并就能批量生成整套代碼。用Freemarker做代碼生成核心價值在于三個字可復(fù)用。模板寫一次后面所有新表都能套用。更重要的是當(dāng)團(tuán)隊約定發(fā)生變化比如所有Controller需要加一個Validated注解只要改模板文件再重新生成一遍即可而不是去幾百個類里手工加。這就是為什么我愿意花幾天時間把生成器搭起來它長期來看是省時間的。1.2 Freemarker和其他模板引擎/手寫拼接的對比早期我嘗試過用StringBuilder硬拼。先寫一段方法用字符串拼接把實體類的字段定義構(gòu)造出來。一開始覺得挺靈活后來發(fā)現(xiàn)模板邏輯和業(yè)務(wù)邏輯糾纏在一起Java代碼里混著一堆空格對齊維護(hù)起來像在解毛線團(tuán)。只要格式化要求變一點比如縮進(jìn)從4個空格改成Tab就得改生成器代碼重新編譯非常痛苦。后來了解過JavaPoet它用Java代碼API構(gòu)建Java代碼類型安全做得很好適合寫庫或框架級別的生成。但它的學(xué)習(xí)曲線略高而且對于XML這種文本文件JavaPoet幫不上忙。至于Velocity和Freemarker功能重疊度很高但Freemarker的模板語法我更熟悉空值處理和宏macro機(jī)制也更順手。Freemarker本身是給網(wǎng)頁渲染設(shè)計的但它另一個重要用途就是代碼生成。它的好處可以列一下模板是獨立的.ftl文件不用編譯改完立即生效。語法簡單會寫HTML就會寫模板${變量}、#list、#if基本夠用。內(nèi)置空值默認(rèn)值處理不會因為某個字段缺失直接崩潰。支持宏定義可以把重復(fù)片段抽成公共模塊。性能不錯Configuration會緩存模板適合循環(huán)批量生成。當(dāng)然它也有缺點比如類型不嚴(yán)格數(shù)據(jù)模型結(jié)構(gòu)錯了只能運行時才發(fā)現(xiàn)。但相比手寫拼接它已經(jīng)讓我從字符串地獄里解脫出來。項目里如果沒有特殊約束Freemarker幾乎是最均衡的選擇。2. 核心思路模板 數(shù)據(jù)模型 輸出2.1 數(shù)據(jù)模型的構(gòu)造Freemarker的生成原理用一句話概括模板負(fù)責(zé)靜態(tài)結(jié)構(gòu)數(shù)據(jù)模型負(fù)責(zé)動態(tài)變量。模板里寫${classInfo.className}運行時Freemarker到數(shù)據(jù)模型里找classInfo對象取出className屬性替換成實際的類名。所以設(shè)計生成器第一步不是寫模板而是設(shè)計數(shù)據(jù)模型。數(shù)據(jù)模型統(tǒng)一了“業(yè)務(wù)信息”的傳遞格式。我一般會給每個實體構(gòu)造一個Map或?qū)iT的POJO內(nèi)容大致如下MapString, Object classInfo new HashMap(); classInfo.put(packageName, com.example.demo.modules.user); classInfo.put(className, User); classInfo.put(entityName, user); classInfo.put(tableName, t_user); classInfo.put(author, YourName); classInfo.put(date, 2025-01-20);字段信息則是列表每個元素包含列名、Java屬性名、Java類型、注釋、是否主鍵等ListMapString, String fields new ArrayList(); MapString, String field new HashMap(); field.put(columnName, id); field.put(fieldName, id); field.put(javaType, Long); field.put(comment, 主鍵); field.put(isPrimaryKey, true); fields.add(field);這些數(shù)據(jù)無外乎三個來源數(shù)據(jù)庫表結(jié)構(gòu)元數(shù)據(jù)、實體類反射、你手工維護(hù)的表結(jié)構(gòu)描述文件。我比較推薦直接從數(shù)據(jù)庫讀取元數(shù)據(jù)因為表和代碼容易保持同步。你可以用JDBC去查information_schema.COLUMNS表拿到列名、數(shù)據(jù)類型、注釋然后做一層類型映射把數(shù)據(jù)庫類型轉(zhuǎn)成Java類型。比如bigint轉(zhuǎn)Longvarchar轉(zhuǎn)Stringdatetime轉(zhuǎn)LocalDateTime這個映射表很重要。數(shù)據(jù)模型設(shè)計得好不好直接影響模板的復(fù)雜程度。我的原則是模板能看懂的數(shù)據(jù)結(jié)構(gòu)要接近自然語言。比如讓模板里出現(xiàn)field.comment而不是field[3]可讀性會好很多。2.2 模板語法速覽如果你沒用過Freemarker這里快速過一遍。生成代碼用到的語法不超過十種。輸出變量${user.name}如果user為null會報錯但可以用${user.name!}給默認(rèn)空。循環(huán)#list fields as field ... /#list。分支#if field.isPrimaryKey true ... #else ... /#if。自定義變量#assign className classInfo.className Entity。導(dǎo)入宏#import common.ftl as common調(diào)用common.copyright/。比如要生成實體類的屬性定義模板可以這樣寫#list fields as field /** ${field.comment} */ private ${field.javaType} ${field.fieldName}; /#list這段模板循環(huán)遍歷fields列表每個字段生成注釋和屬性定義。Freemarker會嚴(yán)格按照模板里的換行和縮進(jìn)輸出所以寫模板時要注意格式不然生成出來的代碼縮進(jìn)是亂的。后面我會專門講這個問題。2.3 生成流程的關(guān)鍵環(huán)節(jié)代碼生成的整個流程可以拆成四步準(zhǔn)備數(shù)據(jù)模型讀取數(shù)據(jù)庫表信息或解析實體類得到classInfo和fields。加載模板用Freemarker的Configuration配置模板目錄、編碼、版本。合并輸出調(diào)用template.process(data, writer)將數(shù)據(jù)模型填充到模板得到代碼字符串。寫入文件根據(jù)目標(biāo)路徑和包名把字符串寫到對應(yīng)的Java文件或XML文件。這里最需要注意的是Configuration初始化。它最好只創(chuàng)建一次因為Configuration會緩存模板反復(fù)創(chuàng)建會引入不必要的開銷。模板目錄的狀態(tài)也要維護(hù)好如果用的是絕對路徑換機(jī)器就得改配置我建議使用項目相對路徑或者通過Classpath來加載模板打包成JAR后也能用。另外合并輸出時writer要指定編碼否則容易出現(xiàn)中文亂碼。一般用OutputStreamWriter包一層指定UTF-8這看起來是個小細(xì)節(jié)實際上亂碼問題十有八九都和編碼設(shè)置有關(guān)。3. 從零搭建一個可用的生成器3.1 工程結(jié)構(gòu)和依賴我們先搭一個最小可用的Maven工程不需要引入Spring一個普通Java程序就行。工程結(jié)構(gòu)大概長這樣code-generator/ ├── pom.xml ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/example/generator/ │ │ │ ├── CodeGenerator.java │ │ │ ├── TableMetaReader.java │ │ │ └── model/ │ │ │ ├── ClassMeta.java │ │ │ └── FieldMeta.java │ │ └── resources/ │ │ └── templates/ │ │ ├── entity.ftl │ │ ├── mapper.ftl │ │ ├── service.ftl │ │ └── controller.ftlpom.xml里只需要一個Freemarker依賴我用的是2.3.32版本老項目用2.3.28以上問題都不大。dependency groupIdorg.freemarker/groupId artifactIdfreemarker/artifactId version2.3.32/version /dependency如果不想依賴額外工具用JDK自帶的java.util.HashMap裝數(shù)據(jù)就夠了。對一個小型生成器來說不必一上來就引入模板數(shù)據(jù)模型的復(fù)雜框架。3.2 核心工具類實現(xiàn)下面我給出一個精簡但可直接運行的生成器骨架。這個代碼把數(shù)據(jù)模型硬編碼在main方法里實際使用時可以從數(shù)據(jù)庫讀取替換。public class CodeGenerator { public static void main(String[] args) throws Exception { MapString, Object dataModel new HashMap(); ClassMeta classMeta new ClassMeta(); classMeta.setPackageName(com.example.demo.user); classMeta.setClassName(User); classMeta.setTableName(t_user); classMeta.setAuthor(YourName); classMeta.setDate(LocalDate.now().toString()); dataModel.put(classMeta, classMeta); ListFieldMeta fields new ArrayList(); fields.add(new FieldMeta(id, id, Long, 主鍵, true)); fields.add(new FieldMeta(user_name, userName, String, 用戶名, false)); fields.add(new FieldMeta(age, age, Integer, 年齡, false)); dataModel.put(fields, fields); Configuration cfg new Configuration(Configuration.VERSION_2_3_32); cfg.setDirectoryForTemplateLoading(new File(src/main/resources/templates)); cfg.setDefaultEncoding(UTF-8); cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); MapString, String outputFiles new HashMap(); outputFiles.put(entity.ftl, src/main/java/com/example/demo/user/User.java); outputFiles.put(mapper.ftl, src/main/java/com/example/demo/user/UserMapper.java); outputFiles.put(service.ftl, src/main/java/com/example/demo/user/UserService.java); outputFiles.put(controller.ftl, src/main/java/com/example/demo/user/UserController.java); for (Map.EntryString, String entry : outputFiles.entrySet()) { Template template cfg.getTemplate(entry.getKey()); File targetFile new File(entry.getValue()); if (!targetFile.getParentFile().exists()) { targetFile.getParentFile().mkdirs(); } try (Writer writer new OutputStreamWriter( new FileOutputStream(targetFile), StandardCharsets.UTF_8)) { template.process(dataModel, writer); } } } }這段代碼的核心思路是維護(hù)一個“模板文件 - 輸出文件”的映射關(guān)系。每執(zhí)行一次讀取該模板對應(yīng)的輸出路徑確保父目錄存在然后合并寫入。注意FileOutputStream和OutputStreamWriter嵌套時我把編碼設(shè)置到了Writer層這是防止中文亂碼的關(guān)鍵。使用ClassMeta和FieldMeta這種POJO比直接用Map更清晰也方便后期擴(kuò)展字段。比如ClassMeta里再加一個moduleName屬性Controller的RequestMapping前綴就可以自動帶上模塊名。3.3 模板文件示例模板是整個生成器的靈魂。我以實體類模板為例看看Freemarker模板長什么樣package ${classMeta.packageName}; import java.io.Serializable; import java.time.LocalDateTime; /** * ${classMeta.tableName} 表對應(yīng)的實體類 * * author ${classMeta.author} * date ${classMeta.date} */ public class ${classMeta.className} implements Serializable { private static final long serialVersionUID 1L; #list fields as field /** * ${field.comment} */ private ${field.javaType} ${field.fieldName}; /#list #list fields as field public ${field.javaType} get${field.fieldName?cap_first}() { return ${field.fieldName}; } public void set${field.fieldName?cap_first}(${field.javaType} ${field.fieldName}) { this.${field.fieldName} ${field.fieldName}; } /#list }注意幾個細(xì)節(jié)field.fieldName?cap_first會把屬性名的首字母大寫這樣userName變成getUserName這是Freemarker內(nèi)置的字符串處理。每個字段的注釋用field.comment輸出如果注釋為空可以加!變成${field.comment!}防止空指針。Mapper接口模板就更簡單了package ${classMeta.packageName}; import org.apache.ibatis.annotations.Mapper; /** * ${classMeta.tableName} 表 Mapper接口 */ Mapper public interface ${classMeta.className}Mapper { int insert(${classMeta.className} entity); int updateById(${classMeta.className} entity); int deleteById(Long id); ${classMeta.className} selectById(Long id); }Service模板和Controller模板也類似無非是導(dǎo)包、類注釋、方法簽名里出現(xiàn)了類名。因為類名和包名都來自數(shù)據(jù)模型模板本身就很機(jī)械這恰恰是它適合生成的原因。3.4 生成后的效果運行上面的生成器會在目標(biāo)目錄生成對應(yīng)的Java文件。實體類的效果大致如下package com.example.demo.user; import java.io.Serializable; /** * t_user 表對應(yīng)的實體類 * * author YourName * date 2025-01-20 */ public class User implements Serializable { private static final long serialVersionUID 1L; /** * 主鍵 */ private Long id; /** * 用戶名 */ private String userName; /** * 年齡 */ private Integer age; public Long getId() { return id; } public void setId(Long id) { this.id id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName userName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age age; } }這就是我們想要的成品。在IDE里打開包路徑正確、類名正確、注釋齊全和手寫沒有區(qū)別。唯一不同的是創(chuàng)建這個文件只花了幾毫秒而且不會因為字段太多而漏掉getter/setter。4. 實操細(xì)節(jié)如何寫出易維護(hù)的模板4.1 模板命名與目錄規(guī)劃模板文件命名我建議盡量直觀后綴統(tǒng)一用.ftl前面可以加目標(biāo)文件的類型。比如entity.ftl、mapper.ftl、service.ftl、controller.ftl、mapperXml.ftl。如果你有不同的風(fēng)格模板比如一種用于單表CRUD一種用于樹形結(jié)構(gòu)那可以在templates下建子目錄分成crud和tree這樣生成的時候按需選擇。還有一點容易忽略模板目錄的維護(hù)。生成器有可能在多個項目里復(fù)用如果模板寫死在絕對路徑比如/Users/me/generator/templates換一臺電腦就要改代碼。我推薦把模板放到當(dāng)前工程的src/main/resources/templates下用類路徑加載。用Spring時可以直接通過ClassPathResource獲取目錄純Java的話可以用CodeGenerator.class.getResource(/templates)拿到URL。這樣生成的jar包自帶模板部署和分發(fā)都方便。4.2 公共片段抽取macro如果你有多個模板都需要生成版權(quán)注釋、都需要生成一個“定期重建”的警告說明把這個片段復(fù)制到每個模板里就違背了DRY原則。Freemarker的宏機(jī)制可以讓你把這些公共片段抽出來。以版權(quán)頭注釋為例新建一個common.ftl#macro fileHeader author date /** * 本文件由代碼生成器自動生成請勿手動修改。 * 如需調(diào)整業(yè)務(wù)邏輯請修改模板或生成規(guī)則。 * * author ${author} * date ${date} */ /#macro然后在任何模板里導(dǎo)入并使用#import common.ftl as common common.fileHeader author${classMeta.author} date${classMeta.date}/這樣當(dāng)公司規(guī)定要在文件頭加一段版權(quán)信息或免責(zé)聲明時你只需要改common.ftl所有模板生成的文件都會同步更新。我在實際項目里把生成器的時間戳、表結(jié)構(gòu)變更記錄都做成了宏模板看起來清爽很多。除了宏你還可以用模板繼承#assign配合使用但代碼生成場景下宏基本夠用了。模板里出現(xiàn)三行以上重復(fù)內(nèi)容時就考慮是否要抽成宏。4.3 包名、路徑和覆蓋策略生成器的輸出路徑要和Java包名對應(yīng)否則IDE里看得到文件但編譯不通過。比較穩(wěn)妥的方式是把輸出路徑定義成src/main/java/${classMeta.packageName?replace(., /)}/${classMeta.className}Mapper.java在Java代碼里做字符串替換也可以但放在模板通過配置統(tǒng)一處理更直觀。我習(xí)慣在生成器里維護(hù)一個Mapkey是模板名value是輸出路徑模板其中的${packagePath}和${className}在運行時替換。覆蓋策略也要提前想清楚。生成器最常見的坑是舊文件被覆蓋你手工改過的代碼全丟了。我的建議是對于自動生成的代碼要么保留一個明顯的“不要手工修改”注釋要么把生成文件輸出到單獨目錄比如src/main/java-gen然后作為額外源目錄參與編譯。這樣即使重新生成也不會破壞手寫業(yè)務(wù)代碼。如果非要覆蓋原文件至少要在覆蓋前自動備份一份到backup目錄或者用Git管理好變更便于diff。我在項目里就吃過虧生成器跑一遍把某個手寫的Service實現(xiàn)覆蓋了萬幸有版本控制才找回來。從那以后我再也不敢把Service模板寫得過于“智能”真正需要手寫的部分都留空生成后手動補(bǔ)充。5. 實戰(zhàn)中的常見問題與排查5.1 文件亂碼問題亂碼是我遇到最多的Bug。生成出來的Java文件中文注釋變成???或者編譯時報“非法字符”。原因基本繞不開三點模板文件編碼、Freemarker讀取編碼、輸出文件編碼。排查順序是這樣的確認(rèn)模板文件本身以UTF-8保存。IDEA右下角可以看文件編碼Windows下尤其容易變成GBK。確認(rèn)cfg.setDefaultEncoding(UTF-8)有些舊代碼忘了加導(dǎo)致Freemarker用默認(rèn)的ISO-8859-1讀模板。確認(rèn)寫入文件時Writer指定了UTF-8。用FileWriter是默認(rèn)平臺的編碼Windows下是GBK所以我堅持使用OutputStreamWriter StandardCharsets.UTF_8。另外在讀取數(shù)據(jù)庫表注釋時如果連接串里沒有加characterEncodingutf8中文注釋也會亂碼。這一層的問題不會被Freemarker感知但最終會把亂碼寫進(jìn)生成的文件里排查時容易混淆。記得JDBC連接串加上useUnicodetruecharacterEncodingutf8。5.2 空值處理和默認(rèn)值數(shù)據(jù)模型里某個字段缺失Freemarker默認(rèn)會拋異常提示foo is undefined。這個設(shè)計是雙刃劍好在能暴露數(shù)據(jù)問題壞處是偶爾一個表缺注釋整個生成流程中斷。我的處理原則是必填信息類名、包名缺失必須報錯業(yè)務(wù)信息注釋、作者缺失可以提供默認(rèn)值。比如模板里用${field.comment!}注釋為空就輸出空字符串。用${classMeta.author!unknown}作者沒傳就寫unknown。如果你想針對List循環(huán)處理空集合可以在List外層加判斷#if fields?? fields?size gt 0 #list fields as field ... /#list /#if??是Freemarker判斷變量是否存在?size取集合大小。模板里多寫這種防御式判斷生成器的健壯性會好很多。5.3 模板語法錯誤排查Freemarker模板出錯的報錯信息一般會帶模板文件路徑和行號比如TemplateModelException: Error executing FreeMarker template FreeMarker template error (DEBUG mode; use RETHROW in production!): The following has evaluated to null or missing: field (in template entity.ftl at line 15, column 10)看到這種信息別慌定位到實體模板第15行看上下文就知道是field為空。通常是因為fields列表里混入了null或者key拼錯了。給列表加一個#list fields??判斷就沒這個問題。還有一種情況是#list和/#list沒有配對或者嵌套時少閉合Freemarker會報“Unexpected end of template”。這時候建議用支持Freemarker語法高亮的IDE插件編輯模板或者寫一個單元測試把所有模板和數(shù)據(jù)模型組合跑一遍確保語法正確。我推薦至少寫一個最簡單的測試用例把每個模板都process到字符串里斷言不拋異常這樣每次改動模板都能快速回歸。5.4 生成效率與批量處理如果只是偶爾生成幾張表性能無所謂。但你要一次生成幾十張表、每個表生成8個文件就需要注意一些細(xì)節(jié)。Freemarker的Configuration在第一次獲取模板時會解析并緩存所以用同一個Configuration實例多次調(diào)用getTemplate是沒問題的。真正影響性能的往往是IO操作比如每次都新建FileOutputStream。我建議用try-with-resources嚴(yán)格管理流同時盡量復(fù)用輸出目錄的判斷邏輯。另外Freemarker默認(rèn)對數(shù)字的格式化會有逗號分隔比如金額1234567會輸出成1,234,567這在生成代碼時很要命因為方法參數(shù)里的數(shù)字可能變成千分位格式。需要在Configuration里設(shè)置數(shù)字格式cfg.setNumberFormat(0);這是一個很多人會忽略的大坑。如果你生成代碼里包含serialVersionUID 123456789L不設(shè)置NumberFormat結(jié)果會變成123,456,789L編譯直接報錯。6. 最后分享一點個人心得關(guān)于代碼生成器我用Freemarker折騰了幾年最大的心得是“模板寧簡勿繁”。模板里寫的邏輯越簡單它就越可靠越容易維護(hù)。不要把業(yè)務(wù)判斷都堆進(jìn)模板如果模板里出現(xiàn)大量#if和嵌套循環(huán)說明你的數(shù)據(jù)模型設(shè)計不到位應(yīng)該在生成器代碼里預(yù)處理出貼近最終輸出的數(shù)據(jù)結(jié)構(gòu)。另一個小技巧是把模板目錄和生成器打包成可執(zhí)行JAR放到項目里以后新接手的同事只要跑一條命令或者一個main方法就能生成全套代碼。配合Maven的exec-maven-plugin甚至可以用mvn compile exec:java一步完成。對比讓新人手敲一遍CRUD這個體驗差別還是很明顯的。我目前還把生成器接入了數(shù)據(jù)庫表結(jié)構(gòu)讀取邏輯配合一個簡單的配置類做到“指定表名 - 自動生成整套代碼”下一步打算支持自定義模板組合比如生成到微服務(wù)多模塊目錄結(jié)構(gòu)。如果你也準(zhǔn)備做代碼生成建議從最小的單表模板開始先把數(shù)據(jù)模型理順再逐步加模板。代碼生成不是炫技而是把機(jī)械勞動壓縮到最低把精力留給真正有業(yè)務(wù)價值的代碼。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人操人人摸超碰| 天天摸夜夜操视频| 乳欲人妻办公室奶水| 国内成人圈中文字幕无码视频| 亚洲操逼网| 国产精品美女久久久久久网站| 国产精品网站免费 | 精品国产网站| 中文字幕精品一区二区精品| wwwcaobibi| 亚洲天天做日日做天天谢日日| 91精品丝袜久久久久久| 尤物视频新赏网鲜网色诱网| 欧美一区二区成人一卡| 超碰97色色| 人人操天天爽| 精品超碰中文在线| 日日狠狠久久偷偷色综合免费| 日本成人A片网站| 美女高潮国产高清| 91精品在线播放| 色情亚洲日本成人| 亚洲棕合电彰| 国产美女91视频| 亚洲无套久久嗯嗯| 噜噜噜亚洲精品| 嗯嗯嗯啊啊啊干死我吧| 99色骚| 97干在线看| 亚洲天堂另类美腿| 黄网站黄视频网站进入口| 吻戏激情性巴克| oumeisetu综合| 欧美精品99久久久| 四虎AV无码| 国产剧情一区在线观看| 丁香婷婷激情五月天无毒不卡| 日韩精品人妻中文字幕有码午| 中文字幕视频在线观看一区二区| 综合影院亚洲| 日韩av色图综合| 性性久久| 久久精品无码熟妇一区二区三区视频导航 | .精品人妻一区二区三| 97免费在线观看| 综合九九| 九九夜精品九九在线| 91人妻视频在线| 亚州色交| 国模不卡| 欧美视频在线视频免费va| 五月天激情四射| 亚洲丝袜二区| 亚洲大色堂| 美日韩在线不卡人妻| 久久综合女优| 亚洲人妻精品一区二区| а√天堂资源官网在线资源| 久久亚洲AV无码专区国产精品 | 欧美专区第一页| 亚洲情色五月天| 九九热超碰97亚洲最新香蕉| 加勒比海成人视频网| 蜜桃视频一区二区三区| 老熟乱一区二区三区四区| 欧洲人妻视频| 亚洲中文字母在线播放| 中文久久96| 伊人网高清| 思思视频免费看网站| 国产精品久久久久久久AV大片| 国产精品自在线发布| 久久是精品| 久热一区二区| 大香蕉久操| 97久久久精品| 欧美 亚洲 在线| 欧美激情超碰777| 亚洲天天精品| 国产在线综合网| 国产三级电影免费观看| 日韩欧美天天爽爽爽天天爽爽| 欧美色图99| 午夜精品99久久久久传媒| 校园春色综合色| 国语精品av| 91香蕉视频在线观看免费| 欧美性爱另类综合| 蜜桃无码AV一区二区| 91九色丨国产丨爆乳| 九七人妻在线| 亚洲综合另类小说色区亚洲成av人片在www| www成人啪啪18秘 免费| 久插综合| 少妇厨房愉情理伦片bd在线观看| 无遮挡猛进视频免费无限观看| 97激情97激情| 黄色片A级一区二区三区| 久久精精区一区二区一蜜桃一区二区| 日韩97超碰| 两性色网| 蜜桃视频一区二区三区| 欧美国产日韩高清在线| 女上位精品在线| 国产一级内射无挡观看| 熟妇熟女一区二三区| 亚洲天天自拍| 日韩一级片在线看| 东京热99999| 大香焦A片| 性色avv| 欧美综色欧| 久久精品国产免费观看99| 操我啊啊啊啊啊| 亚洲高清欧美总合| 91狠狠综合久久久久久| 亚洲天天天| 亚洲激情网| 亚洲国产97在线精品一区| 91精品国产高清久久久久久,亚洲成人| 性性欧美| 全球成人中文在线| 天天操熟妇| 多乙久久久久久| 人妻 欧美亚洲| 一区二区三区激情在线观看| 中出人妻中文字幕91在线| 国产精品亚洲一区二区三区四区| 九九九精品| 亚洲日韩av一区二区三区百合| 日韩精品在线视频,日韩精品……| www.99热| 天天干人人看综合| 伊人操操| 国产成人自拍视频在线| 免费国产视频| 亚av顶级裸体一区二区三区四区五区 | 日韩精品高清资源在线| 色在线综合| 91丝袜激情在线| 日本性爱少妇| 少妇久久久久久| 日本一二区免费| 国产精品4p在线观看| 亚洲熟女乱综合一区二区三区| 欧美少妇性爱网站| 日韩99999| 极品五月天噜噜| 欧美日韩在线视频网站| 91精品国产乱码| 欧美精品999| 一区二区三区国产在线播放| 色天使AV天堂| 久久精品亚洲婷婷| 久久精品国产亚洲AV无码做| 91色欧美| surenchaopeng| 国产情侣自拍在线播放| 东京热一区二区中文字幕| 在线小视频| 亚洲精品99| 亚洲国产ⅴ高清在线观看| 啊啊啊啊,啊啊好多水| 色色色综合网| 在线色导航| 日本色日夜干| 国产精品午夜福利| 涩涩久久精品| 粉嫩AV一区夜夜嗨| 91久久精品国产| 91成人在线免费视频| juliaann欧美丝袜办公室| 秋霞一区二区三区四区五区六区七区| 日本在线一二| 亚洲欧美日韩精品久久久一区二区| 夜夜欢天天干| 高潮9999外国| 亚州男人的天堂| 久草综合京东| 久久9 9 9精品| 国产美女mm131爽爽爽爽| 青青在线视频日韩欧美| 青娱乐黄色录像| 9久精品视频在线观看| 日操粉逼逼| 日韩BBN| 亚洲精品三| 青青草字幕AV| 国产精品白丝在线播放| 超碰在线人人射| 成人情色综合网| 日本不卡二三区| 久99久视频精选| 自拍偷拍2025在线观看| 乱伦AVxx| av日韩国产一区二区| 97超碰人人模人人拍人人| 欧美黑人168页欧美黑人167| 精品网站99999| 10000部十八禁看电影| 麻豆人妻精品一区二区| 亚洲人在线成线成人| AA丁香综合激情| 国产亚洲禁久一区二区 | 色色色天美视频| AV和黑人在线播放| 老熟女乱子伦中文字幕一区二区| 97精品熟女少妇一区| 五月丁香六月综合缴清无码| 国产成人拍国产亚洲精品| 大香蕉中文| 懂色aV一区二区天美传媒| 青青操在线视频| 日日不卡av| 操久久久久| 亚洲AV色图| 久久久偷拍| 91情色在线| 亚洲情色欧美| 久久久久久久久久久免费精品| 91福利网在线观看| 免费一级精品啪啪视频| 国产成人亚洲精品无码古代早漏男 | 国产精品毛片?v一区二区三区 | 韩日巨乳美女免费视频在线观看| 综合久久99亚洲人妻中文在线| 亚洲精品国产av天美传媒| 天天插夜夜爽| 蜜桃传媒视频第一区入口在线看| AV女优男人的天堂| 亚洲 无码 偷拍| 搞中出久久| 少妇3P性爱自拍| 久久一区二区三区入口| 99re6久热只有精品6在线直播| xxx亚洲午夜天堂| 狠综合网| 97色亚洲| 在线国产福利网址导航| 另类图片五月天| 日韩99999色| 色天堂综合| 久热精品在线| 18禁精品网站在线看| 91精品大奶人妻| 精品91摸| 欧美大的香蕉有线电视视频| AV一起草在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩伦理久 久久 清纯| 东京男人天堂| 亚洲精品无码久久AV| 久久亚洲av成人无码国产| 91丝袜美女| 美女91网址| 色哟哟 日韩精品| 欧美极度丰满熟妇hd| 欧洲天天在线| 啊啊啊啊无码| 2019天天干天天操| 97 九色| 天天综合网日韩| 日韩黄色成人性爱| 97超碰在线资源网站| 久久东京热久久| 污污汅18禁网站在线永久免费观看| 狠狠穞A片一區二區三區| 99啪啪| 91 丝袜在线播放| 久操婷婷| 好湿好紧视频| 久久亚洲精品成人av| 欧亚第一综合网| 亚洲色欧美| 熟女精品一区二区三区| 四虎免费在线播放| 亚洲蜜桃V妇女| 色婷婷蜜臀av| 男女啪啪网站免费视频| 中文字幕日产av人| 日婷婷| 久九九九九九九热| 欧美黄色手机在线观看| 青青青国产| 97免费在线观看| 91丨九色丨大屁股| 欧美色视| 无码heyzo高清一区| 东京热,男人的天堂| 黄色小视频日本txt| 骚女高跟AV在线| 亚洲成人无码影院| 亚洲丝袜在线观看| 天天日日夜夜| 91情色| 亚洲情色1区| 久久性爱视频免费看| 激情自拍 校园春色| 美女好片色日本| 色五月网址| 夜夜欢天天干| 江都AV在线| 国产一国产一级毛片古装| 国产熟女少妇一区| 日韩国产精品人妻无码久久久| 九九无码久久精品视频| 天天视频黄| 成人网欧美风情| 欧亚性爱在线视频| 亚洲色图欧美色18直播在线| 欧美1727免费观看视频| 国产美女销魂在线观看不卡| 精品少妇人妻| 日韩久久三区| 顶级丝袜熟女一区二区三区| 欧美最婬乱婬爆婬牲视频| 中文字幕黄色片| 91人人| 人人澡综合涩| 久久久精品成人国产| 久久久精品,3| 色女综合| 婷婷五月天av| 亚洲无码国产探花在线观看| 亚洲高清少妇| 99999精品成人| 亚洲 欧美日韩 另类| 欧亚三区动漫| 天天日美女的B| 亚洲 日韩 欧美 国产综合体| 99久久久无码国产精品性啊聊| 福利天堂| http://qxhbdz.com| 熟妇xxxxx性春色| 色天天野狼综合社区| 精品无码一区二区| 一区二区三区视频在线观看免费| 97啪啪| 久久99深爱久久99精品| 黑人中出21连凳花野真衣| 国产成人无码网站在线视频| 欧美成熟性爱精品| 97香蕉网| 色欧美在线| 美日韩一二三区| 天天做天天爽| 91精品人妻电影| 天堂v无码免费视频| 亚洲在钱| 很很很很操| 97资源超碰| 久久婷婷伊人| 人妻精品一区二区在线| 久久中文字幕一区不卡| 日韩一级性爱无码| 四虎在线观看视频| 亚洲欧美97| 国产黑白丝在线| 欧美亚洲美少妇一区二区| 人妻熟女午夜精品在线| 亚洲制服欧美另类内射| 久久精品日韩| 无码丰满熟妇一区二区浪潮AV| 97天天综合| 欧美第五页| 亚洲欧美综合网站| 99在线精品观看视频中文| 九九九九九精品十六| 有码人妻系列| 五月天色图| 96AV精品| 一区,二区,三区网站| 欧洲天天在线| 熟女在线视频| 欧美色图 人妻| 日韩中文字幕熟妇人妻 | 91综合天天看| 亚洲精品乱码久久久久久蜜桃麻豆| 77国产精品| 伊人991| 热久久99999| 久久久久久中文版| 中文久久96| 国产乱子伦一区二区三区免看| 国产美女精品| 蜜臀一二三| 啊啊啊啊啊啊啊啊要喷了| 无码久| 久草精品一区 | 99re综合伊人| chaopen97久久| 国产怡红院在线| 色色九区| av一区二区三区不卡| 高清国产无码av| 亚洲欧洲无码bt精品合集| 日韩日本欧美在线观看| 国产精品久久久久久无码红治院| 天天干天天操天天干天天操| 丰满人妻一区二区三区| 中文乱码99| 一区,二区,三区视频| 成人天天爽| 人妻激情视频| 在线观看中文字幕| av最新免费中文字幕| 国产家庭乱伦网址| 五月婷婷基地| 国产乱弄免费在线视频。 | 亚洲成人贴图| 欧美日日操| 精品国产精品一区二区| 97色欧州| 91情色在线| 另类亚洲一区二区三区| 精品在线观看视频在线| 日本美女性生活久久久久久久| 麻豆AV96熟妇人妻| 麻豆 美女 丝袜 人妻 中文| 26uuu性| 九九色精品| 日韩少妇丰满亚洲| 欧美自拍网| 伊人网免费视频| 爽 好舒服 无码刺激久久| 99色悠悠| 久久精品噜噜噜成人看免欧美大片| 97欧美精品| 奇米狠999| 极品粉嫩一区二区| 亚洲高清欧美总合| japan日本高清乱xxxx| 国产11页| avav青青草久久夜| 美女午夜福利免费视频| 超碰爽人妻熟女Av| 亚洲色图一区二区三区| 日本99久久| 日韩精品人妻中文字有码在线| 啪啪自拍九九综合| 91人妻尻屄视频| 天天α片| 一本色道久久天天射天天干| 男人的天堂在线有码| 日本三级韩国三级美三级91| 高清国产无码av| 亚洲五月丁香花狠狠干一区二区三区| 夜夜爽夜夜摸夜夜操免费视频| jazzjazz国产精品麻豆| 操少妇很爽av| 蜜臀在线视频| 国语人妻精彩刺激| 欧美92| 美女自卫慰黄网站免费| 久久亚洲天堂| 国产av美女被艹的乱叫| 超碰在线第一页| 2020中文在线一区二区三区| 欧美色997| 激情婷婷综合久久| av在线人气| 久久久久九九九| 夜夜嗨AV一区天天| 91综合网站| 国产按摩一区二区三区| 99国产女人| 在线不卡视频| 97超碰欧美精品| 日本91白丝| 欧美亚洲激情| 亚洲欧美爆| 日B操| 97看操| 国产成人欧美一区二区三区的国产| 国内操逼视频二区| 免费精品人妻一区二区三| 使劲用力艹少妇视频一区二区 | 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 在线观看高清AV| 亚洲男人天堂2016| 亚洲操人| 97综合在线| 人妻一区二区三区| 国产一区二区三三视频| 啊嗯嗯啊好大好爽| 久久激情视频| 高清有码一区二区| 天天草AV| 欧美色图天堂在线| 小日子操bb在线看| 欧美淫乱视频| 九九久久久久久爱| 东京热男人的天堂精品| 嗯嗯嗯啊啊在线观看| 男人天堂一区二区| av一区二区三区不卡| 99在线视频播放| 免费黄色A片| 亚洲欧美色图片| 久久AV无码1区2区3区| 黄片com.| 91肉丝| 亚洲 另类 丝袜 自拍 动漫| 婷婷色五月激情| 18禁看网站一区| 伊人在线大香蕉二。| 天天综合色| 亚洲 日本 国产 综合| 国产精品久久久午夜夜伦鲁鲁| 青青国产精品在线| 先锋色眉乱伦资源| 国产三级片在线观看| 人妻 制服 日韩 中文 在线| www色色com| 韩国手机不卡无码三级视频| 天天狂操夜夜狂日| 黄久在线| 日韩成人午夜精品久久高潮| 婷婷久久综合久| 亚洲一区二区三区中文字幕| 夜夜精品视频| 久久久性少妇| 青青青艹在线视频| 高树玛利亚无码流出| 亚洲天堂 视频你懂的| 人人做,人人操,人人摸| juliaann丝袜| 欧美精品,四区。五区| 日韩二三区| 免费观看欧美日韩操逼视频| 成年人一级黄色毛片大全在线观看| 无码高清操逼| 亚洲久久久久| 国产搭汕a级片| 97国产精品久久久久 | 91久久久亚洲| 国产400孕妇孕交群| 自拍第一页| 欧美亚洲se91| 天美精品一区二区三区四区在线观看| 天天色悠悠激情| 五月婷婷爱六月丁香色| 亚洲古典另类欧美在线| 91c色| 国产一级特黄大片处女| 香伊人在线| a片自拍直播视频| 久久精品黄色| 大色综合| 极品销魂美女一区二区| 1769成人国产精品视频| 性天堂| 精品视频在线观看| 试看日韩黄片| 综合亚洲欧美精品日韩?v| 国产日本一区二区三区蜜臀在线观看| 欧美性爱一区二区三区| 久久人妻熟女一区二区| 男人综合网| 亚洲图片另类| 一级做受视频免费是看美女| www.99色| 色色香蕉| 99日精品欧美国产| 天天干,夜夜爽| 亚洲高潮少妇| 少妇被玩视频二三区| 久久av网| 亚洲精品黑丝| 超碰久超碰久| 老熟女乱伦片| 91爆操视频| 国模精品一区二区三区苹果色戒| 9久热| 日本久久久久久久久| 伊人成人情色综合| 精吧天堂| 水滴偷拍| 久久久久久久九九九九九九| 欧美国产伊人久久久久| 六月婷婷激情| 蜜臀久久久国产| 毛片99-全集电影手机免费观看完整-B029AV | 国产精品美女久久久久久网站| 日本1区2区不卡视频| 美女写真| 国产久久一区二区午夜| 国产成人主播| 青青在线视频免费| 一本色道久久天天射天天干| 人人看人人摸人人色| 男人亚洲91首页在线| 精品亚洲俞拍视频一区| 91N综合网| 26UUU欧美日本| 在线强奷到舒服的无码视频| 亚洲 91 在线| 精品妇操一区二区三区| 日本欧美中文字幕| 美女一区二区国产精品| 亚洲……91| 97网址97| 国产狂喷潮在线精品| 亚洲天堂 视频你懂的| 无码一区二区三区四区五区六区七区八区九区十区视频 | 97超碰色屌| 亚洲欧美综合网| 欧美日韩电影成人在线| 六六久久日韩不卡| 亚洲欧美啪啪| 国产亚洲精品激情| 九九毛片这里只有精品| 国产精品午夜精品| 日韩乱伦AⅤ| 欧美黑人猛交春色影视大全| 国产日韩人人| 中文字幕乱亚洲美女精品一区| 国内精品嫩模A∨私拍小视频| 国产精品高朝久久久久久久| 曰韩人妻中文字幕在线 | 男人的天堂亚洲| 九九九九97| 不卡中文字幕aⅴ在线| 狠狠狠狠狠狠| 国产suv精品一区二六| 国产成人无码a| 天天操女人| 五月天伊人网| 丁香五月色情| 日本精品加勒比海一区| 国产一级作爱毛片| 国产精品丝袜久久亚洲不卡| 啪啪性爱免费视频| 久久精品亚洲婷婷| 日本不卡五区| 97亚洲综合电影| 国产精品乱码久久| 欧美图片偷拍| 久久久久久久久一区二区三区| 囯产乱伦一区二区三女 | 日韩成人精品| 狠狠搞 亚洲91| 亚洲高清视频在线免费观看| 亚洲国产精品乱码在线观看| 色妇综合网| 日本熟妇一区二区三区| 午夜精品久久久久久久第一页按摩| 人妻乱仑一区二区三区| 乱操9999| 色一情一乱一乱一区91Av| 亚洲欧美天| 婷婷精品视频| 亚洲国产熟妇综合色专区| 五月天婷婷基地| 超碰97 线线 在现| 国产一区二区三区不卡手机在线| 国产偷人伦激情在线观看| 国产精品对白内射| 翔田千里AⅤHD无码| 96国产污污污丝袜| 久久久免费一级黄片| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 激情网五月天| 国产综合色精品在线观看| 夜夜嗨AV蜜臀av| AV天堂国产| 少妇色综合| 超碰99热| 思思热在线视频在线| 精品亚州18| 粉嫩在线一区二区懂色| 99久久99九九99九九九| 美女啊啊啊啊pc| 国产女同视频在线播放| 97少妇人妻中文字幕久久 | 爱爱啊啊啊| 啊啊啊快操我视频| 综合色色网| 人妻一区二区三区四区视频| 熟女网站最新| 中文字幕五区| 99国产精品视频尤物| 神马久久免费电影观看| 999日韩中文精品观看视频。| 久久久久久久久久va| 久久人妻一区二区三区高清| 67914亚洲精品| 欧美另类精品xxxx| 欧美97爱| 素人伊尹大香蕉免费下载视频| 国产乱码久久| 看一级特黄a大一片| 大香蕉狠狠爱| 久久夜精品一区二区三区| 九九99久久| 国产亚洲女v在线观看| 久久精品国产亚洲av水密被窝| 久久超碰免费的| 色五月婷婷久久| 国产乱色国产精品免费视| 少妇贴图| 久久伦理视频久久大香蕉视频| 志村玲子视频一区二区| 男人高清无码一区二区| 人人操,人人液| 色老大| 在线亚洲丝袜视频网站| 人妻久热在线| 天天操夜夜操| 极品色www影院| 十八禁av无码免费网站APP| 91老熟女| 亚洲高清欧美总合| 蜜桃臀AV在线| 日韩资源网| 日本午夜福利视频| 色97| 色综合天天| 亚洲欧美国产其他二区| 国产中文大片资源中文字幕| 最新日本中文字幕| 午夜αv| 一本色道久久综合精品婷婷| 玖玖大干人妻| 亚洲 欧美 综合 91| 午夜欧美神马久久久久| 欧美少妇一区二区三区| 午夜精品久久久久久久男人的天堂| 懂色AV蜜臀无码精品APP| 亚洲一区二区三区中文字幕| 人妻偷拍一区二区三区| 午夜国产成人精品视频| TS人妖另类精品视频系列| 亚欧美色| 亚洲激情视频| 黑人娇小av在线播放| 91丝袜美女视频| 黑人综合网| 蜜臀久久99精品久久久| 清纯唯美亚洲| 欧美精品69性爱| 2018天天日天天日| 国产女s强制榨精视频| 成人小说另类在线| 老子午夜伦不卡影院| 国产又黄又粗的视频| 国产成人拍国产亚洲精品| 国产1024在线播放| 欧洲黄色网| 亚洲色图尤物视频| 人人看欧美性爱| 黄色免费网页无码| 91色久| 99热综合| 91女在线观看| 玖玖资源中文字幕制服丝袜| 欧美91精彩| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲最大的综合性av| 午夜精品久久久久久久99蜜桃一| 人人扣人人操| 啊啊啊 在线观看| 怡春苑东京热| 国产丝袜一区二区三区| 97视频免费播放| 久久成年片色大黄全免费网站| 在线无码视频| 人妻22p| 精品四五区| 久久动漫精品视频这里只有精品| 色婷婷一区二区三区久久午夜成人不| 99999久久精| 秋霞一集毛片观看| 日韩av一级黄片| 亚洲色鬼| 激情综合网一盗摄| 欧美色网络| 少妇一级婬片免费放一级a性色.| 黄色高清无码无码破解免费暗网| 激情文学网伊人| 日本精品性生活久久久| 久久久久久加勒比| 欧美一级AAAAAAA| 伦理片秋霞免费影院| 国产美女裸体秘 永久无遮挡| 日本人妻最新在线中| 这里只有精品视频在线观看麻豆| 色婷婷网| 金典av| 精品999999| 精品区国产区一区二区三区| 亚洲天天更新| 精品人妻中文字幕4399| 五月天综合在线| 好看的久久不射无码影视影院| 啊啊啊啊无码| 久草国产在线视频| 久久人妻四季| 色区97| 日本视频一区二区三区| 青青草日逼视频| 亚洲中文sv| 成人性爱av.com| 动漫片子网站3黄| 国产91 丝袜在线播放 | 老熟妇综合| 在线不欧美| 国产粉嫩出水在线播放| 黄资源| 日本中文熟女视频| 久久婷五月天| 免费精品AB| 亚洲国产尤物yw在线观看| 国产精品久久久久久夜夜夜| 久久久青青草| 国产AV久久久蜜爱影集| 无码人妻精品一区二区三区九九| 国产在线综合福利网站| 99热这里是精品| 精品人妻视频一区二区在线播放 | 第四色亚洲色图| 欧美性爱一区二区| 性站 | 亚洲av乱伦色图网站| 久久人妻少妇| 伊人五月天激情| 亚洲男人的天堂网| 中文字幕奈奈美被公侵犯| 96精品久久久久中文字幕| 91啪啪| 青娱乐av在线| 久操91视频| 成人A片男人的天堂| 伊人网免费视频| 中文字幕版| 免费看黄片现成| 天天日天天舔东京热 | 天天α片| 亚欧成人综合影院| 伊人午夜福利视频| 免费看久久久性性| 亚洲一区二区中文字幕| 五月激情小说| 国产精品999aaa| 东京热一区二区三区四区五区六区| 伊人影院日本| 上床不卡网站| 国产区91柔拿会所技师| 日韩人人精品| 五月天激情小说网| 一区二区乱码福利| 啊啊啊啊啊好大好舒服想要| 五月天丁香欧洲日韩| 亚州性色| 国产AV天美| 一区二区视频在线播放| 四虎免费在线播放| 2020视频1区2区3区| 成人国产视频在线观看| 成人热久久精品| 国产黄色 A 片免费看| 久久极品一区二区| 欧美91精品国产自产| 日韩二三区| 亚洲AV无线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 日韩欧美tv一区二区在线观看| 日本熟妇色熟妇在线视频播放| 成人黑料社久久| 青草综合| 久草精品一区 | 久久春色| 精国久久一区二区三区98| 日本欧美国内在线| 久久超碰国产一区二区三区| 日韩无码AB| 99色热| 欧美亚洲一级在线观看| 国产91丝袜 在线播放| 亚洲熟女乱色| 色官网在线| 精品无码欧美三级| 久久精品一区二区三区蜜桃臀| 天天91~综合入口| 性爱免费视频成人| 天久久久噜噜噜久久国产精品爽爽| 天天舔九色婷婷| 欧美激情综合| av最新免费中文字幕| 日逼97| 超碰97在线色男人??| 亚洲日产专区| 黑人精品成人一区二区三区| 翔田千里A片一区二区| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 97精品97久久| 青娱乐av在线| 色色99| 亚洲无码?第一页| 日韩成年人性爱视频| 激情文学小说一区二区| 啊啊啊啊二区好大| 九九热九九热| 婷婷五月天基地| 亚洲制服欧美另类内射| 国产精品探花色| 亚洲AV无码乱码| 亚洲第一视频 欧美风情 日韩| 欧美色图成人网一区二区| 91亚洲人电影| 丁香五月AV| 97最新在线播放视频| 日韩性爱毛片操骚逼| 午夜精品久久久| 欧美天堂在线| 99999亚洲另类| 亚洲自拍青操视频| 国产欧美成人精品| 99国产精品免费| 艾草av| julia在线观看久久| 在线黄页看毛片| 伊人五月天| 91操碰| 狠狠五月天| 欧美婷婷| 亚洲综合另类| 丁香五月天视频| www.色婷婷| 91一区二区| 色色99| 少妇二级| 日本三级人妻a人妻一在线| 亚洲国产精品久久久久久久久久| 婷婷五月天成人网| 久久综合九九| 91色情黑丝搞鸡在线观看一区二区三区三州| 亚洲欧美国产其他二区| 亚洲一本大道中文字幕无码在线| 最近2019中文字幕国语免费版 | 91视频女生| 久久精品综合| 久草电影网| 久久在肏| 97精品久久| 强奸乱伦AV一天堂网| 国产偷人伦激情在线观看| 天天干人人看综合| 国内毛片热久久思思热| 啪啪啪东京| jizzjizz欧美| 久久美女福利是上海美女| 日韩国产中文字幕| 综合熟女| 亚洲狼狼干综合1| 中文字幕精品久久久久人妻红杏ⅰ| 天天综合网AV91| 天天日天天干天天摸天天操| 亚洲色图A| 26UUU欧美日本| 手机在线播放国产福利| 播播亚洲小说亚洲| www.狠狠| 97超碰色屌| 天天干1区2区在线| 欧美色图综合网| 大香蕉免费3| 女人午夜视频777| 亚洲图片 91| 超碰天天操| 超碰97伊人| 香伊人在线| 日韩去日本高清在| 大鸡巴久久久| 亚洲超碰综合网| 性猛交| 乱伦Av网| 精品国产网站| 蜜桃臀一区二区aV| 欧美性暴力| 女人 A一级| 男人的天堂2010| 成人片视频| 97国产超碰| 福利在线黄片| 一区,二区,三区网站| 亚洲图片偷拍欧美| 尤物网站91| 欧美 亚洲 偷拍自拍| 黑人中出21连凳花野真衣| 91亚洲狠狠色| 黄色大片免费在线| 五月香婷婷| 亚洲自拍欧美色综合| 亚洲丝袜诱惑| 丝袜美腿制服人妻二区中文字幕| 日韩人妻操B| 91美女视频直播| 日韩黄片视频试看| 偷拍网站久久男女男| 91在线国产后入风骚翘臀美女素人| av毛片aaaaa免费看| 99啪啪视频| 久湿久久| 国产一区二区三三视频| 蜜臀久久99精品久久久久久久久| 在线五区| 日韩中文字幕精品一区在线| 日韩97超碰中文字幕| 一级免费精品| 在线A日本| 中文97国产| 天堂无码| 久操综合在线| 东北女人高潮视频| 免费中文在线| 青青三级视频| 久久国产乱子伦精品免费女人| 人妻天天爽夜夜爽爽| 午夜精品久久久久久久第一页按摩| 久草视频在线视频在线视频在线观看| 欧美性区| 亚洲男人综合| 色精品极品| 亚洲日韩电影| 亚洲一区二区麻豆影院| 久草精品在线| 蜜乳AV色欲AVAV无码| 死我十八禁| 亚洲中文字母在线播放| 中国黄色特级精品一区二区三区片| 欧美性生活免费网| 久久久久久久久久黄色网| 日韩日本欧美在线观看| 久久久9视频| 免费在线看黄片av| 精品人人| 翔田千里A片一区二区| 麻豆视频test| 久久性爱视频99| 亚洲精品骚逼| 久久精品日韩| 97网址97| 亚洲欧美激情在线视频| 精品少妇一区二区| 丁香五月激情网| 色悠久| 欧美 综合| 久操com| 四虎精品一区| 99热99在线| 色噜噜国产精品视频一区二区| 91neishe| 日韩一区二区精彩视频| 96免费视频在线| 乱伦av麻豆| 黑丝制服中文字幕| 午夜免费视频1000| 国产毛片片精品天天看视频| 东北老女人的激情视频| 欧美不卡二区| 超碰97久| 嗯阿好爽好紧| 日韩一级特黄av毛片| 91色射| 久久久久性熟视频| 逼操网站| 国产精选视频| 日本免费不卡二区| 在线观看免费视频国产| 欧美高清在线| 欧美色三级片91| 欧美综合娱乐久久| 天天综合91入口| 九九久久首页| 国产精品久久久久久 百度| 久久高潮妇女视频| 情色五月天久久久| 国产三级电影免费观看| 人妻夜夜爽天天爽三区麻豆AV网站| 91伊人大香蕉| 日本黄 R色 成 人网站| 性天堂| 啊啊啊在线看| 成人精品电影| 欧美视频边做饭边橾| 狠狠操使劲操| 亚洲91射| 色综合加勒比四四季| 探花一区在线| 国产兽交视频在线播放| 精品人妻一区二区蜜桃视频| 熟妇人妻一区二区三区| 在线性黄高清免费视频| 国产女同在线观看视频| 丁香7月婷婷| 国产嫩草精品A88AV在线| 国内精品伊人久久久久影院会| 亚洲日韩人妻中文字幕一区| 丰满熟妇大乳做爰| 亚州久久9| 精品夜夜澡人妻无码| 久久久久久AⅤ无码免费肉站| 亚洲无码精品AV久久久| 狠狠色五月亚洲91| 丝袜亚洲91| 欧美性区| 99re9在线| 国产精品视频精品一二| 吖在线不卡一区二区国产剧情| 天天cao在线| 老熟妇一区二区三区| 国产成人主播| 亚洲男人的天堂一区二区| 超碰在线看| 国产精品爽爽va在线观看98| 性videos欧美熟妇hdx| 蜜臀AV午夜精品久| 中文字幕欧洲有码| 在线观看午夜婷婷久久久久清性观看| 日本人妻一区二区| 极品色社| 色色99| 99无码视频| 日本亚洲熟女视频| 夜色AV无码手机在线影院| 精品高清av中文字幕| 久久久久九九九九| 夜夜躁狠狠躁日日躁av| 96超碰网| 一区二区三区一亚洲中文字幕、综合区灬 | 大香蕉在线免| 蜜臀AV成人精品蜜臀AV久久| 人人喜人人妻| 欧美亚洲国内自拍| 91N欧美| 欧美在线官网| 99热免费| 污到发麻的视频 国产| 国产精品国产自产拍高清AV| 97精品国产97久久久久久免费| 亚洲最大91网| 日韩99999色| 艾草av| 人人妻人人色| 亚洲男人的天堂网| 99re在线视频| 97在线观看免费| 日日骚一区二区三区| 99少妇| 欧美97爱| 亚洲**2021在线观看| ji熟女.com| 激情网色| 国产黄色av大片网站| 亚洲国产激情国产av| 丁香六月啪啪| 天天淫人人妻日日色| 91骚妇| 九九九只有精品|