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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

Mybatis 使用的 9 种设计模式,真是太有用了~

發布時間:2025/3/21 asp.net 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mybatis 使用的 9 种设计模式,真是太有用了~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:crazyant.net/2022.html

雖然我們都知道有26個設計模式,但是大多停留在概念層面,真實開發中很少遇到,Mybatis源碼中使用了大量的設計模式,閱讀源碼并觀察設計模式在其中的應用,能夠更深入的理解設計模式。

Mybatis至少遇到了以下的設計模式的使用:

  • Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder;

  • 工廠模式,例如SqlSessionFactory、ObjectFactory、MapperProxyFactory;

  • 單例模式,例如ErrorContext和LogFactory;

  • 代理模式,Mybatis實現的核心,比如MapperProxy、ConnectionLogger,用的jdk的動態代理;還有executor.loader包使用了cglib或者javassist達到延遲加載的效果;

  • 組合模式,例如SqlNode和各個子類ChooseSqlNode等;

  • 模板方法模式,例如BaseExecutor和SimpleExecutor,還有BaseTypeHandler和所有的子類例如IntegerTypeHandler;

  • 適配器模式,例如Log的Mybatis接口和它對jdbc、log4j等各種日志框架的適配實現;

  • 裝飾者模式,例如Cache包中的cache.decorators子包中等各個裝飾者的實現;

  • 迭代器模式,例如迭代器模式PropertyTokenizer;

  • ?

    接下來挨個模式進行解讀,先介紹模式自身的知識,然后解讀在Mybatis中怎樣應用了該模式。?

    1、Builder模式

    Builder模式的定義是“將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。”,它屬于創建類模式,一般來說,如果一個對象的構建比較復雜,超出了構造函數所能包含的范圍,就可以使用工廠模式和Builder模式,相對于工廠模式會產出一個完整的產品,Builder應用于更加復雜的對象的構建,甚至只會構建產品的一個部分。

    在Mybatis環境的初始化過程中,SqlSessionFactoryBuilder會調用XMLConfigBuilder讀取所有的MybatisMapConfig.xml和所有的*Mapper.xml文件,構建Mybatis運行的核心對象Configuration對象,然后將該Configuration對象作為參數構建一個SqlSessionFactory對象。

    其中XMLConfigBuilder在構建Configuration對象時,也會調用XMLMapperBuilder用于讀取*Mapper文件,而XMLMapperBuilder會使用XMLStatementBuilder來讀取和build所有的SQL語句。

    在這個過程中,有一個相似的特點,就是這些Builder會讀取文件或者配置,然后做大量的XpathParser解析、配置或語法的解析、反射生成對象、存入結果緩存等步驟,這么多的工作都不是一個構造函數所能包括的,因此大量采用了Builder模式來解決。

    對于builder的具體類,方法都大都用build*開頭,比如SqlSessionFactoryBuilder為例,它包含以下方法:

    即根據不同的輸入參數來構建SqlSessionFactory這個工廠對象。

    2、工廠模式

    在Mybatis中比如SqlSessionFactory使用的是工廠模式,該工廠沒有那么復雜的邏輯,是一個簡單工廠模式。

    簡單工廠模式(Simple?Factory?Pattern):又稱為靜態工廠方法(Static?Factory?Method)模式,它屬于類創建型模式。在簡單工廠模式中,可以根據參數的不同返回不同類的實例。簡單工廠模式專門定義一個類來負責創建其他類的實例,被創建的實例通常都具有共同的父類。

    SqlSession可以認為是一個Mybatis工作的核心的接口,通過這個接口可以執行執行SQL語句、獲取Mappers、管理事務。類似于連接MySQL的Connection對象。從 0 開始手寫一個 Mybatis 框架,這個我推薦你看下。

    可以看到,該Factory的openSession方法重載了很多個,分別支持autoCommit、Executor、Transaction等參數的輸入,來構建核心的SqlSession對象。

    在DefaultSqlSessionFactory的默認工廠實現里,有一個方法可以看出工廠怎么產出一個產品:

    private?SqlSession?openSessionFromDataSource(ExecutorType execType, TransactionIsolationLevel level,boolean?autoCommit)?{Transaction tx =?null;try?{final?Environment environment = configuration.getEnvironment();final?TransactionFactory transactionFactory = getTransactionFactoryFromEnvironment(environment);tx = transactionFactory.newTransaction(environment.getDataSource(), level, autoCommit);final?Executor executor = configuration.newExecutor(tx, execType);return?new?DefaultSqlSession(configuration, executor, autoCommit);}?catch?(Exception e) {closeTransaction(tx);?// may have fetched a connection so lets call// close()throw?ExceptionFactory.wrapException("Error?opening?session.??Cause:?"?+ e, e);}?finally?{ErrorContext.instance().reset();}}

    這是一個openSession調用的底層方法,該方法先從configuration讀取對應的環境配置,然后初始化TransactionFactory獲得一個Transaction對象,然后通過Transaction獲取一個Executor對象,最后通過configuration、Executor、是否autoCommit三個參數構建了SqlSession。

    在這里其實也可以看到端倪,SqlSession的執行,其實是委托給對應的Executor來進行的。

    而對于LogFactory,它的實現代碼:

    public?final?class?LogFactory?{private?static?Constructor<??extends Log> logConstructor;private?LogFactory() {// disable construction}public?static?Log getLog(Class<?>?aClass)?{return?getLog(aClass.getName());}

    這里有個特別的地方,是Log變量的的類型是Constructor<??extends?Log>,也就是說該工廠生產的不只是一個產品,而是具有Log公共接口的一系列產品,比如Log4jImpl、Slf4jImpl等很多具體的Log。

    3、單例模式

    單例模式(Singleton?Pattern):單例模式確保某一個類只有一個實例,而且自行實例化并向整個系統提供這個實例,這個類稱為單例類,它提供全局訪問的方法。

    單例模式的要點有三個:一是某個類只能有一個實例;二是它必須自行創建這個實例;三是它必須自行向整個系統提供這個實例。單例模式是一種對象創建型模式。單例模式又名單件模式或單態模式。

    在Mybatis中有兩個地方用到單例模式,ErrorContext和LogFactory,其中ErrorContext是用在每個線程范圍內的單例,用于記錄該線程的執行環境錯誤信息,而LogFactory則是提供給整個Mybatis使用的日志工廠,用于獲得針對項目配置好的日志對象。設計模式之單例模式實踐,這篇文章推薦你看下。

    ErrorContext的單例實現代碼:

    public?class?ErrorContext?{private?static?final ThreadLocal<ErrorContext> LOCAL =?new?ThreadLocal<ErrorContext>();private?ErrorContext()?{}public?static?ErrorContext?instance()?{ErrorContext context = LOCAL.get();if?(context ==?null) {context =?new?ErrorContext();LOCAL.set(context);}return?context;}

    構造函數是private修飾,具有一個static的局部instance變量和一個獲取instance變量的方法,在獲取實例的方法中,先判斷是否為空如果是的話就先創建,然后返回構造好的對象。

    只是這里有個有趣的地方是,LOCAL的靜態實例變量使用了ThreadLocal修飾,也就是說它屬于每個線程各自的數據,而在instance()方法中,先獲取本線程的該實例,如果沒有就創建該線程獨有的ErrorContext。

    4、代理模式

    代理模式可以認為是Mybatis的核心使用的模式,正是由于這個模式,我們只需要編寫Mapper.java接口,不需要實現,由Mybatis后臺幫我們完成具體SQL的執行。

    代理模式(Proxy?Pattern)?:給某一個對象提供一個代?理,并由代理對象控制對原對象的引用。代理模式的英?文叫做Proxy或Surrogate,它是一種對象結構型模式。

    代理模式包含如下角色:

    • Subject:?抽象主題角色

    • Proxy:?代理主題角色

    • RealSubject:?真實主題角色

    這里有兩個步驟,第一個是提前創建一個Proxy,第二個是使用的時候會自動請求Proxy,然后由Proxy來執行具體事務;

    當我們使用Configuration的getMapper方法時,會調用mapperRegistry.getMapper方法,而該方法又會調用mapperProxyFactory.newInstance(sqlSession)來生成一個具體的代理:

    /** *?@author?Lasse Voss */ public?class?MapperProxyFactory<T>?{private?final?Class<T> mapperInterface;private?final?Map<Method, MapperMethod> methodCache =?new?ConcurrentHashMap<Method, MapperMethod>();public?MapperProxyFactory(Class<T> mapperInterface)?{this.mapperInterface = mapperInterface;}public?Class<T>?getMapperInterface()?{return?mapperInterface;}public?Map<Method, MapperMethod>?getMethodCache()?{return?methodCache;}@SuppressWarnings("unchecked")protected?T?newInstance(MapperProxy<T> mapperProxy)?{return?(T) Proxy.newProxyInstance(mapperInterface.getClassLoader(),?new?Class[] { mapperInterface },mapperProxy);}public?T?newInstance(SqlSession sqlSession)?{final?MapperProxy<T> mapperProxy =?new?MapperProxy<T>(sqlSession, mapperInterface, methodCache);return?newInstance(mapperProxy);}}

    在這里,先通過T?newInstance(SqlSession?sqlSession)方法會得到一個MapperProxy對象,然后調用T?newInstance(MapperProxy<T>?mapperProxy)生成代理對象然后返回。

    而查看MapperProxy的代碼,可以看到如下內容:

    public?class?MapperProxy<T>?implements?InvocationHandler,?Serializable?{@Overridepublic?Object?invoke(Object proxy, Method method, Object[] args)?throws?Throwable?{try?{if?(Object.class.equals(method.getDeclaringClass())) {return?method.invoke(this, args);}?else?if?(isDefaultMethod(method)) {return?invokeDefaultMethod(proxy, method, args);}}?catch?(Throwable t) {throw?ExceptionUtil.unwrapThrowable(t);}final?MapperMethod mapperMethod = cachedMapperMethod(method);return?mapperMethod.execute(sqlSession, args);}

    非常典型的,該MapperProxy類實現了InvocationHandler接口,并且實現了該接口的invoke方法。

    通過這種方式,我們只需要編寫Mapper.java接口類,當真正執行一個Mapper接口的時候,就會轉發給MapperProxy.invoke方法,而該方法則會調用后續的sqlSession.cud>executor.execute>prepareStatement等一系列方法,完成SQL的執行和返回。

    5、組合模式

    組合模式組合多個對象形成樹形結構以表示“整體-部分”的結構層次。

    組合模式對單個對象(葉子對象)和組合對象(組合對象)具有一致性,它將對象組織到樹結構中,可以用來描述整體與部分的關系。同時它也模糊了簡單元素(葉子對象)和復雜元素(容器對象)的概念,使得客戶能夠像處理簡單元素一樣來處理復雜元素,從而使客戶程序能夠與復雜元素的內部結構解耦。

    在使用組合模式中需要注意一點也是組合模式最關鍵的地方:葉子對象和組合對象實現相同的接口。這就是組合模式能夠將葉子節點和對象節點進行一致處理的原因。

    Mybatis支持動態SQL的強大功能,比如下面的這個SQL:

    <update id="update"?parameterType="org.format.dynamicproxy.mybatis.bean.User">UPDATE users<trim prefix="SET"?prefixOverrides=","><if?test="name?!=?null?and?name?!=?''">name =?#{name}</if><if?test="age?!=?null?and?age?!=?''">, age =?#{age}</if><if?test="birthday?!=?null?and?birthday?!=?''">, birthday =?#{birthday}</if></trim>where?id =?${id} </update>

    在這里面使用到了trim、if等動態元素,可以根據條件來生成不同情況下的SQL;

    在DynamicSqlSource.getBoundSql方法里,調用了rootSqlNode.apply(context)方法,apply方法是所有的動態節點都實現的接口:

    public?interface?SqlNode?{boolean?apply(DynamicContext context); }

    對于實現該SqlSource接口的所有節點,就是整個組合模式樹的各個節點:

    組合模式的簡單之處在于,所有的子節點都是同一類節點,可以遞歸的向下執行,比如對于TextSqlNode,因為它是最底層的葉子節點,所以直接將對應的內容append到SQL語句中:

    @Overridepublic?boolean?apply(DynamicContext context)?{GenericTokenParser parser = createParser(new?BindingTokenParser(context, injectionFilter));context.appendSql(parser.parse(text));return?true;}

    但是對于IfSqlNode,就需要先做判斷,如果判斷通過,仍然會調用子元素的SqlNode,即contents.apply方法,實現遞歸的解析。

    @Overridepublic?boolean?apply(DynamicContext context)?{if?(evaluator.evaluateBoolean(test, context.getBindings())) {contents.apply(context);return?true;}return?false;}

    6、模板方法模式

    模板方法模式是所有模式中最為常見的幾個模式之一,是基于繼承的代碼復用的基本技術。

    模板方法模式需要開發抽象類和具體子類的設計師之間的協作。一個設計師負責給出一個算法的輪廓和骨架,另一些設計師則負責給出這個算法的各個邏輯步驟。代表這些具體邏輯步驟的方法稱做基本方法(primitive?method);而將這些基本方法匯總起來的方法叫做模板方法(template?method),這個設計模式的名字就是從此而來。

    模板類定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。

    在Mybatis中,sqlSession的SQL執行,都是委托給Executor實現的,Executor包含以下結構:

    其中的BaseExecutor就采用了模板方法模式,它實現了大部分的SQL執行邏輯,然后把以下幾個方法交給子類定制化完成:

    protected?abstract?int?doUpdate(MappedStatement ms, Object parameter)?throws?SQLException;protected?abstract?List<BatchResult>?doFlushStatements(boolean?isRollback)?throws?SQLException;protected?abstract?<E>?List<E>?doQuery(MappedStatement ms, Object parameter, RowBounds rowBounds,ResultHandler resultHandler, BoundSql boundSql)?throws?SQLException;

    該模板方法類有幾個子類的具體實現,使用了不同的策略:

    • 簡單SimpleExecutor:每執行一次update或select,就開啟一個Statement對象,用完立刻關閉Statement對象。(可以是Statement或PrepareStatement對象)

    • 重用ReuseExecutor:執行update或select,以sql作為key查找Statement對象,存在就使用,不存在就創建,用完后,不關閉Statement對象,而是放置于Map<String,?Statement>內,供下一次使用。(可以是Statement或PrepareStatement對象)

    • 批量BatchExecutor:執行update(沒有select,JDBC批處理不支持select),將所有sql都添加到批處理中(addBatch()),等待統一執行(executeBatch()),它緩存了多個Statement對象,每個Statement對象都是addBatch()完畢后,等待逐一執行executeBatch()批處理的;BatchExecutor相當于維護了多個桶,每個桶里都裝了很多屬于自己的SQL,就像蘋果藍里裝了很多蘋果,番茄藍里裝了很多番茄,最后,再統一倒進倉庫。(可以是Statement或PrepareStatement對象)

    比如在SimpleExecutor中這樣實現update方法:

    @Override public?int?doUpdate(MappedStatement ms, Object parameter)?throws?SQLException?{Statement stmt =?null;try?{Configuration configuration = ms.getConfiguration();StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, RowBounds.DEFAULT,?null,null);stmt = prepareStatement(handler, ms.getStatementLog());return?handler.update(stmt);}?finally?{closeStatement(stmt);}}

    7、適配器模式

    適配器模式(Adapter?Pattern)?:將一個接口轉換成客戶希望的另一個接口,適配器模式使接口不兼容的那些類可以一起工作,其別名為包裝器(Wrapper)。適配器模式既可以作為類結構型模式,也可以作為對象結構型模式。

    在Mybatsi的logging包中,有一個Log接口:

    /** *?@author?Clinton Begin */ public?interface?Log?{boolean?isDebugEnabled();boolean?isTraceEnabled();void?error(String s, Throwable e);void?error(String s);void?debug(String s);void?trace(String s);void?warn(String s);}

    該接口定義了Mybatis直接使用的日志方法,而Log接口具體由誰來實現呢?Mybatis提供了多種日志框架的實現,這些實現都匹配這個Log接口所定義的接口方法,最終實現了所有外部日志框架到Mybatis日志包的適配:

    比如對于Log4jImpl的實現來說,該實現持有了org.apache.log4j.Logger的實例,然后所有的日志方法,均委托該實例來實現。

    public?class?Log4jImpl?implements?Log?{private?static?final?String FQCN = Log4jImpl.class.getName();private?Logger log;public?Log4jImpl(String clazz)?{log = Logger.getLogger(clazz);}@Overridepublic?boolean?isDebugEnabled()?{return?log.isDebugEnabled();}@Overridepublic?boolean?isTraceEnabled()?{return?log.isTraceEnabled();}@Overridepublic?void?error(String s, Throwable e)?{log.log(FQCN, Level.ERROR, s, e);}@Overridepublic?void?error(String s)?{log.log(FQCN, Level.ERROR, s,?null);}@Overridepublic?void?debug(String s)?{log.log(FQCN, Level.DEBUG, s,?null);}@Overridepublic?void?trace(String s)?{log.log(FQCN, Level.TRACE, s,?null);}@Overridepublic?void?warn(String s)?{log.log(FQCN, Level.WARN, s,?null);}}

    8、裝飾者模式

    裝飾模式(Decorator?Pattern)?:動態地給一個對象增加一些額外的職責(Responsibility),就增加對象功能來說,裝飾模式比生成子類實現更為靈活。其別名也可以稱為包裝器(Wrapper),與適配器模式的別名相同,但它們適用于不同的場合。根據翻譯的不同,裝飾模式也有人稱之為“油漆工模式”,它是一種對象結構型模式。

    在mybatis中,緩存的功能由根接口Cache(org.apache.ibatis.cache.Cache)定義。

    整個體系采用裝飾器設計模式,數據存儲和緩存的基本功能由PerpetualCache(org.apache.ibatis.cache.impl.PerpetualCache)永久緩存實現,然后通過一系列的裝飾器來對PerpetualCache永久緩存進行緩存策略等方便的控制。如下圖:

    用于裝飾PerpetualCache的標準裝飾器共有8個(全部在org.apache.ibatis.cache.decorators包中):

  • FifoCache:先進先出算法,緩存回收策略

  • LoggingCache:輸出緩存命中的日志信息

  • LruCache:最近最少使用算法,緩存回收策略

  • ScheduledCache:調度緩存,負責定時清空緩存

  • SerializedCache:緩存序列化和反序列化存儲

  • SoftCache:基于軟引用實現的緩存管理策略

  • SynchronizedCache:同步的緩存裝飾器,用于防止多線程并發訪問

  • WeakCache:基于弱引用實現的緩存管理策略

  • 另外,還有一個特殊的裝飾器TransactionalCache:事務性的緩存

    正如大多數持久層框架一樣,mybatis緩存同樣分為一級緩存和二級緩存

    • 一級緩存,又叫本地緩存,是PerpetualCache類型的永久緩存,保存在執行器中(BaseExecutor),而執行器又在SqlSession(DefaultSqlSession)中,所以一級緩存的生命周期與SqlSession是相同的。

    • 二級緩存,又叫自定義緩存,實現了Cache接口的類都可以作為二級緩存,所以可配置如encache等的第三方緩存。二級緩存以namespace名稱空間為其唯一標識,被保存在Configuration核心配置對象中。

    二級緩存對象的默認類型為PerpetualCache,如果配置的緩存是默認類型,則mybatis會根據配置自動追加一系列裝飾器。

    Cache對象之間的引用順序為:

    SynchronizedCache–>LoggingCache–>SerializedCache–>ScheduledCache–>LruCache–>PerpetualCache

    9、迭代器模式

    迭代器(Iterator)模式,又叫做游標(Cursor)模式。GOF給出的定義為:提供一種方法訪問一個容器(container)對象中各個元素,而又不需暴露該對象的內部細節。?

    Java的Iterator就是迭代器模式的接口,只要實現了該接口,就相當于應用了迭代器模式:

    比如Mybatis的PropertyTokenizer是property包中的重量級類,該類會被reflection包中其他的類頻繁的引用到。這個類實現了Iterator接口,在使用時經常被用到的是Iterator接口中的hasNext這個函數。

    public?class?PropertyTokenizer?implements?Iterator<PropertyTokenizer>?{private?String name;private?String indexedName;private?String index;private?String children;public?PropertyTokenizer(String fullname)?{int?delim = fullname.indexOf('.');if?(delim > -1) {name = fullname.substring(0, delim);children = fullname.substring(delim +?1);}?else?{name = fullname;children =?null;}indexedName = name;delim = name.indexOf('[');if?(delim > -1) {index = name.substring(delim +?1, name.length() -?1);name = name.substring(0, delim);}}public?String?getName()?{return?name;}public?String?getIndex()?{return?index;}public?String?getIndexedName()?{return?indexedName;}public?String?getChildren()?{return?children;}@Overridepublic?boolean?hasNext()?{return?children?!=?null;}@Overridepublic?PropertyTokenizer?next()?{return?new?PropertyTokenizer(children);}@Overridepublic?void?remove()?{throw?new?UnsupportedOperationException("Remove is not supported, as it has no meaning in the context of properties.");} }

    可以看到,這個類傳入一個字符串到構造函數,然后提供了iterator方法對解析后的子串進行遍歷,是一個很常用的方法類。

    總結

    以上是生活随笔為你收集整理的Mybatis 使用的 9 种设计模式,真是太有用了~的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    久久久久久久久久久国产精品 | 99视频| 久久国产影院 | 91九色成人蝌蚪首页 | 日韩a欧美 | 97超碰资源 | 亚洲九九九在线观看 | 亚洲天堂首页 | 人人盈棋牌 | 中文字幕在线观看完整 | 久草视频在线新免费 | 日本三级全黄少妇三2023 | 成人黄色中文字幕 | 精品久久久久国产免费第一页 | a级片网站 | 麻豆va一区二区三区久久浪 | 国产免费影院 | 久久视频这里有久久精品视频11 | 久久久久久久影视 | 狠狠色丁婷婷日日 | 欧美在线视频一区二区三区 | 91豆花在线| 日韩理论在线视频 | 成人免费看片98欧美 | 亚洲视频在线观看 | 国产黑丝一区二区三区 | 精品国产伦一区二区三区免费 | 亚洲尺码电影av久久 | 国产护士在线 | 日韩色视频在线观看 | 国产香蕉视频在线播放 | 亚洲一级在线观看 | 日本黄色免费电影网站 | 久久av福利 | 久久国产精品一二三区 | 国产精品美女视频网站 | 色久av| 午夜在线免费视频 | 在线免费观看黄色 | 久久天堂影院 | 国产又粗又猛又色又黄网站 | 免费91在线观看 | 六月丁香六月婷婷 | 国产精品久久久久久久免费 | 国产欧美高清 | 日韩视频免费在线 | 日韩免费高清在线观看 | 又色又爽又黄高潮的免费视频 | 91精品国产成人www | 国产高清视频在线免费观看 | 人人插超碰 | 国产一级大片在线观看 | 国产日韩精品一区二区三区 | 成年人视频在线免费播放 | 国产精品美 | 最近2019中文免费高清视频观看www99 | 午夜精品久久久久久久99热影院 | 狠狠精品 | 成人永久视频 | 久久久高清免费视频 | 成人免费一级片 | 91亚洲精品久久久蜜桃网站 | 在线小视频你懂的 | 国产成人免费网站 | 97人人超碰在线 | 久草在线在线视频 | 久久久久综合网 | 天天操天天摸天天射 | 久久婷婷五月综合色丁香 | 国产一级黄色电影 | 国产精品高潮呻吟久久久久 | 午夜久久久影院 | 久久人人爽人人爽人人片av软件 | 日韩欧美在线综合网 | 日韩av片无码一区二区不卡电影 | 亚洲三级在线免费观看 | 99视频偷窥在线精品国自产拍 | 啪嗒啪嗒免费观看完整版 | 久久国产一区二区三区 | 欧美美女激情18p | 夜夜夜夜爽 | 久久色视频| 激情六月婷婷久久 | 亚洲女欲精品久久久久久久18 | 日本中文字幕视频 | 中国一级片视频 | 天天曰天天曰 | 亚洲精品久久久久中文字幕二区 | 久久综合福利 | 国内99视频 | 超碰午夜| 国产亚洲精品久久19p | 人人爽夜夜爽 | 国产成人777777 | 国产午夜三级一区二区三桃花影视 | 少妇高潮流白浆在线观看 | 成人黄色大片在线免费观看 | 亚洲黄色在线免费观看 | 亚洲成人高清在线 | 日韩免费在线 | 天堂av免费看 | 久久久久免费精品视频 | 日日干,天天干 | 亚洲区另类春色综合小说 | 99久久电影| 婷婷丁香激情网 | 欧美色噜噜 | 不卡中文字幕在线 | 国产护士在线 | 97视频在线免费播放 | 久久婷婷精品视频 | 在线免费日韩 | 毛片久久久 | 亚洲精品自在在线观看 | 911香蕉视频 | 免费观看一区 | 四虎成人免费观看 | 在线观看的a站 | 中文字幕韩在线第一页 | 国产人免费人成免费视频 | 欧洲色吧 | 91精品免费视频 | 9999亚洲| 在线 影视 一区 | 亚洲高清视频在线播放 | 狠狠操狠狠干2017 | 黄色av网站在线观看免费 | 国产高清免费在线观看 | 国产精品久久久久久久久久久久午夜 | 制服丝袜一区二区 | 丝袜美女在线观看 | 97精品国产97久久久久久春色 | 亚州精品国产 | 日韩字幕在线观看 | 国产剧在线观看片 | 91桃色在线播放 | 精品久久99 | 日本黄色免费电影网站 | 欧美久久久 | 国产亚洲视频在线 | 久久69精品 | 久久精品99国产精品酒店日本 | 色成人亚洲 | 粉嫩av一区二区三区四区 | 91女子私密保健养生少妇 | 免费观看国产精品 | 成年人毛片在线观看 | 久久久久久久久久久久99 | 97综合网 | 色香蕉视频 | 久久久久9999亚洲精品 | 久操伊人| 免费观看成人网 | 永久免费的av电影 | 99久视频 | 一级片免费在线 | 国产精品18p| 日韩电影中文 | 毛片美女网站 | 国产精品va在线观看入 | 91精选在线观看 | 久精品一区 | 国产亚洲精品久久久久久电影 | 欧美日韩一区二区视频在线观看 | 韩国精品视频在线观看 | 亚洲国内精品在线 | 天堂va欧美va亚洲va老司机 | 人人澡人人添人人爽一区二区 | 欧美va在线观看 | 欧美 日韩 性 | 天堂av在线7 | 欧美久草视频 | 亚洲综合成人在线 | 亚洲国产小视频在线观看 | 色视频在线观看 | 久久久久福利视频 | 亚洲理论在线 | 久久五月天色综合 | 天天干天天碰 | 干天天 | 日免费视频 | 久久99精品国产麻豆宅宅 | 日本久久综合网 | 中文字幕区 | 精品一区欧美 | 91成人短视频在线观看 | 色综合天天在线 | 伊人久久在线观看 | a级一a一级在线观看 | 国产一区二区影院 | 国产一区欧美日韩 | 国产专区在线看 | 日日夜夜草 | 久久久福利| 成人av电影免费在线播放 | 99久久99久久精品国产片果冰 | 久久成人在线视频 | 成人av免费电影 | 婷婷在线精品视频 | 夜夜澡人模人人添人人看 | 国产精品成人av在线 | 欧美三级高清 | 国产精久久久久久久 | 亚洲激情一区二区三区 | 又爽又黄又刺激的视频 | 国产精品97| 日韩午夜电影院 | 日韩精品综合在线 | 日韩黄在线观看 | 免费日韩av电影 | 日日操天天操狠狠操 | 操久| 在线观看网站av | 中文字幕精品视频 | 久草在线电影网 | 2024国产精品视频 | 精品久久久久久久久久久久 | 日本视频高清 | 亚洲成人精品久久久 | 中文字幕高清免费日韩视频在线 | 在线亚洲精品 | 草久久精品 | 五月婷久 | 欧美久久久久久久 | 国产日韩在线视频 | 国产精品久久久久久久久久免费 | 欧美精品久久久久久久亚洲调教 | 国内精品亚洲 | 欧美一二三在线 | 久久9视频 | 天天操天天干天天插 | 狠狠的干狠狠的操 | 99精品热视频只有精品10 | 91探花在线视频 | 欧美最新另类人妖 | 人人盈棋牌 | 免费看的黄色录像 | 国产中文字幕一区二区 | 国产精品免费在线播放 | 97综合视频| 亚洲欧美乱综合图片区小说区 | www久久精品 | 97在线免费观看 | 日韩免费在线观看视频 | 麻豆91在线 | 久久久国产一区二区三区四区小说 | 不卡视频在线看 | 久久情爱| 97色婷婷人人爽人人 | 日韩精品一区二区三区丰满 | 天天操天天操天天操天天操天天操 | 亚洲欧洲精品一区二区精品久久久 | 日韩字幕 | 国产精品成人自产拍在线观看 | 精品中文字幕在线播放 | 成人在线视频网 | 国产精成人品免费观看 | 日本在线观看视频一区 | 中文在线免费看视频 | 九精品| 狠狠色网| 精品视频专区 | 免费激情在线电影 | 玖玖爱免费视频 | 97视频人人澡人人爽 | 日韩一区二区免费视频 | 美女久久久久 | 狠狠干夜夜操 | 国产精品porn | 91黄色在线视频 | 国产一级二级三级视频 | 一区二区三区动漫 | 超碰97中文 | 国产精品久久二区 | 午夜精品久久久久久久久久久 | 国产精品破处视频 | 久久免费视频这里只有精品 | 91久久国产露脸精品国产闺蜜 | 91视频啊啊啊 | 亚洲区另类春色综合小说校园片 | 色网址99| 99视频偷窥在线精品国自产拍 | 91麻豆精品国产 | 中文字幕在线国产 | 九九亚洲精品 | 黄a在线| 免费av成人在线 | 91激情视频在线 | 国产分类视频 | 182午夜在线观看 | 最新中文在线视频 | 亚洲精品中文字幕视频 | 免费视频资源 | 99视频精品免费视频 | 麻豆91在线观看 | 丁香花在线观看视频在线 | 岛国片在线 | 黄色综合 | 一级全黄毛片 | 中文字幕资源在线 | 精品夜夜嗨av一区二区三区 | 国产精品视频永久免费播放 | 国产精品久久久久久久久久免费看 | av高清不卡| 日韩成人欧美 | 色天天综合网 | 操综合 | 麻豆视频免费在线 | 日本精品视频免费观看 | 最近乱久中文字幕 | 日本黄色免费电影网站 | 国产呻吟在线 | 国产精品99久久久 | 五月天久久久久久 | 日韩剧情 | 91成年视频| 91成人午夜| 欧洲av不卡 | 99在线免费观看视频 | 能在线看的av| 麻豆成人网| 日本不卡123 | 久久精品美女视频 | 久草久视频 | 综合色婷婷 | 欧美性天天 | 五月天国产 | 玖玖爱国产在线 | 国产一区二区在线播放视频 | 精品国产成人在线影院 | 午夜av片 | 天天干天天干天天射 | 黄色福利网站 | 国产精品久久久久久久av电影 | 国产午夜一区二区 | 亚洲视频1 | 午夜精品久久久久久99热明星 | 亚洲成人资源在线 | 黄免费在线观看 | 亚洲亚洲精品在线观看 | 天天激情天天干 | 欧美一区在线观看视频 | 欧美日韩性 | av黄色av| 在线免费国产视频 | 丁香花中文在线免费观看 | 国产精品国产三级国产aⅴ9色 | 又色又爽的网站 | 欧美精品第一 | 欧美有色 | 黄色大全免费网站 | 国内精品久久久久久久影视简单 | 国产不卡在线 | 欧美国产三区 | 日韩视频在线不卡 | 麻豆影视在线观看 | 91精品国产91p65 | 黄色一级大片免费看 | av免费电影在线观看 | www.亚洲黄色 | 91精品在线观看视频 | 又紧又大又爽精品一区二区 | 欧洲一区二区在线观看 | 夜夜高潮夜夜爽国产伦精品 | 99精品国产成人一区二区 | 狠狠色噜噜狠狠 | 草莓视频在线观看免费观看 | 午夜精品成人一区二区三区 | 人成午夜视频 | 国产精品免费一区二区三区 | 久久精品国产亚洲精品 | 国产激情电影综合在线看 | 国产一区在线视频播放 | 国产在线观看中文字幕 | 能在线观看的日韩av | 国产69精品久久久久久 | 成人理论在线观看 | 中文字幕专区高清在线观看 | 在线探花 | 色悠悠久久综合 | 黄色网www| 亚洲视频99| 亚洲精品日韩一区二区电影 | 黄色资源在线观看 | 亚洲在线视频网站 | 91久久偷偷做嫩草影院 | 夜夜骑天天操 | 国产福利免费在线观看 | 久久免费视频播放 | 干干干操操操 | 手机在线欧美 | 超碰在线观看97 | 日韩高清免费无专码区 | 亚洲国产伊人 | 国产精品久久久影视 | 91成人精品一区在线播放69 | 午夜性生活片 | 亚洲另类视频在线观看 | 国产美女精彩久久 | av青草 | www.久久99| 毛片网站在线看 | 久久午夜色播影院免费高清 | 国产国产人免费人成免费视频 | 亚洲天堂网在线视频观看 | 色吊丝在线永久观看最新版本 | 久久久99精品免费观看乱色 | 成年人免费电影在线观看 | 国产欧美在线一区二区三区 | 国产资源在线播放 | 免费欧美| 国产视频一区在线免费观看 | 免费久草视频 | 中文字幕在线观看一区 | www.亚洲精品视频 | 午夜视频一区二区三区 | 久久综合爱 | 91九色国产 | 久久永久视频 | 91中文字幕在线观看 | 久久精品老司机 | 丝袜av网站| 99中文字幕| 色播六月天 | 国产精品男女视频 | 91在线网址| www.亚洲精品在线 | 天天操福利视频 | 免费看短 | 亚洲激情 | 中文字幕在 | 久久久91精品国产一区二区精品 | 偷拍福利视频一区二区三区 | 又黄又爽免费视频 | 午夜视频一区二区三区 | 香蕉蜜桃视频 | 亚洲天堂精品 | 在线播放视频一区 | 黄污视频大全 | 最近日本字幕mv免费观看在线 | av网址在线播放 | 欧美肥妇free | 五月婷婷激情综合 | 深爱激情久久 | 国产精品激情在线观看 | 27xxoo无遮挡动态视频 | 成人毛片100免费观看 | 韩国在线视频一区 | 国产小视频在线播放 | 97精品国产手机 | 国产精品99久久久精品免费观看 | 亚洲激情校园春色 | 国产精品麻豆99久久久久久 | 亚洲综合少妇 | 国产精品久久久久亚洲影视 | 色婷婷狠狠五月综合天色拍 | 欧美日本在线观看视频 | 色欧美成人精品a∨在线观看 | 丁香婷婷激情网 | 91aaa在线观看| 精品国产伦一区二区三区免费 | 99高清视频有精品视频 | 久久综合加勒比 | 欧美大片在线观看一区 | 涩涩在线 | 国产亚洲va综合人人澡精品 | 日韩精品久久久免费观看夜色 | www蜜桃视频 | 国产美女主播精品一区二区三区 | 狠狠的干狠狠的操 | 91视频com| 久久不射电影院 | 日韩色在线观看 | 深爱开心激情 | 亚洲狠狠操 | 国产精品 国产精品 | 激情丁香5月 | 四虎国产 | 97精品超碰一区二区三区 | 玖玖视频免费在线 | 国产99久久久国产 | 久日视频 | 精品视频免费久久久看 | 97电影在线看视频 | 国产视频中文字幕在线观看 | 国产一区二区在线播放 | 伊人首页| 国产免费xvideos视频入口 | 丁香婷婷综合色啪 | 亚洲 av网站| 免费情趣视频 | 亚洲天堂网在线播放 | 福利电影一区二区 | 欧美视频日韩 | 免费99视频 | 亚洲另类视频在线 | av资源免费看 | 亚洲一区网 | 国产亚洲成av人片在线观看桃 | 亚洲欧洲一区二区在线观看 | 国产亚洲va综合人人澡精品 | 日韩在线视频看看 | 国产精品久久 | 天天操天天操天天操天天操 | 国产午夜精品免费一区二区三区视频 | 日本中文字幕免费观看 | 狠狠色噜噜狠狠狠狠2022 | 亚洲理论电影网 | 毛片无卡免费无播放器 | 亚洲免费成人 | 久草在线视频免赞 | 日本成人a | 天堂在线视频中文网 | 日韩一区二区三区不卡 | 免费福利在线播放 | 99久久精品免费看 | 麻豆视频在线播放 | 天天天操操操 | 草莓视频在线观看免费观看 | 国产成视频在线观看 | 婷婷精品在线 | 久久伊人爱 | 久久99深爱久久99精品 | 欧美va在线观看 | 99久久精品免费看国产免费软件 | 国产精品亚洲成人 | 国产91在线免费视频 | 欧美日韩国产成人 | 国产色妞影院wwwxxx | 日韩精品免费一区二区在线观看 | 午夜精品久久久久久久久久久久久久 | 亚洲黄色激情小说 | 国产精品久久一区二区三区, | 在线免费视频一区 | 亚洲午夜精品一区 | 六月色婷 | 久久久久久免费毛片精品 | 亚洲日本欧美 | 日韩在线 | 久久国产精品二国产精品中国洋人 | 久久久免费播放 | 亚洲欧美成人网 | 又黄又爽又无遮挡的视频 | 亚洲专区路线二 | 啪啪肉肉污av国网站 | 久久久久久久久久网站 | 99久久精品久久久久久清纯 | 欧美a视频| 极品美女被弄高潮视频网站 | 久久精品99国产精品亚洲最刺激 | 成年人看片 | 九九视频网 | 国产成人一二片 | 久久久av免费 | 91天天操| 久久人91精品久久久久久不卡 | 欧洲精品码一区二区三区免费看 | 福利网址在线观看 | 欧美精品在线一区二区 | 人人藻人人澡人人爽 | av综合网址 | 日韩精品一区二区三区免费视频观看 | 国产一区二区不卡视频 | 夜夜摸夜夜爽 | 最近中文字幕mv | 96av麻豆蜜桃一区二区 | 亚洲国产中文字幕 | 久久久久久久久久久久国产精品 | 国产精品一区二区中文字幕 | 美女激情影院 | 日日夜夜添 | 国产精品 美女 | 97电影网站 | 日韩在线观看第一页 | 亚洲综合国产精品 | 97精品国产97久久久久久春色 | 国产高清在线 | 日本精品视频一区二区 | 韩国av一区二区 | 日韩免费在线观看视频 | 成人中文字幕+乱码+中文字幕 | 五月天天在线 | 久久人人爽爽人人爽人人片av | 中文字幕一区二区三区四区在线视频 | 亚洲视频久久久 | 中文字幕永久免费 | 日本精品一区二区三区在线播放视频 | av中文字幕亚洲 | 在线亚洲日本 | 久久精品网站免费观看 | 国产淫片| 日韩成片| 人人视频网站 | www.玖玖玖 | 一区二区丝袜 | 亚洲三级在线 | av电影一区 | 9999精品免费视频 | 最新av网址在线 | 国产精品毛片久久久久久久久久99999999 | 国产精品美女 | 国产高清在线a视频大全 | 亚洲综合激情小说 | 日本 在线 视频 中文 有码 | 国产精品手机视频 | 免费看污的网站 | 亚洲精品综合一二三区在线观看 | 69精品人人人人 | 国产又黄又硬又爽 | 亚洲第一中文字幕 | 色av男人的天堂免费在线 | 免费看的黄色小视频 | 欧美黑人xxxx猛性大交 | 国产999免费视频 | 青青草在久久免费久久免费 | av在线电影免费观看 | 97在线播放视频 | 久久精品99国产国产精 | 人人爽人人澡人人添人人人人 | 久久亚洲国产精品 | 国产在线观看你懂的 | 国产精品6999成人免费视频 | 国产91免费观看 | 免费在线黄色av | 中文字幕成人在线观看 | 欧日韩在线视频 | 麻豆国产精品一区二区三区 | 亚洲精品国偷自产在线99热 | 国产精品久久久久久一区二区三区 | 精品国产一区二区三区久久 | 蜜臀av夜夜澡人人爽人人桃色 | 91精品无人成人www | 久草网站在线 | 久久大视频 | 91精品一区二区三区久久久久久 | 成人一级片免费看 | 黄色在线视频网址 | 日本丰满少妇免费一区 | 国产黄网站在线观看 | 亚洲六月丁香色婷婷综合久久 | 精品影院| 天天插天天射 | 探花视频在线观看+在线播放 | 国产亚洲va综合人人澡精品 | 国产999视频在线观看 | 国产中文字幕视频在线观看 | 超级碰视频 | 成人av一区二区在线观看 | 国产做a爱一级久久 | 玖玖玖精品 | 久久久久久久免费观看 | 又黄又爽又无遮挡免费的网站 | 日韩国产高清在线 | 亚洲综合小说电影qvod | 99视频这里只有 | 国产精品九九热 | 亚洲国产日韩一区 | 国产一区二区午夜 | 超碰人人91 | 少妇啪啪av入口 | 日韩久久在线 | 中文字幕av在线电影 | 中文字幕视频免费观看 | 激情av综合 | 91色一区二区三区 | 天天摸夜夜添 | 国产黄网站在线观看 | 成人福利在线观看 | 日韩二区在线 | 久99久精品 | 综合激情婷婷 | 成年人视频免费在线播放 | 成人av电影网址 | 国产中文欧美日韩在线 | 日韩一区二区三区观看 | 国产精品久久久久婷婷 | 亚洲精品中文字幕在线 | 成在线播放 | 午夜av电影院 | 97成人在线视频 | 亚洲视频久久久 | 日韩在线播放欧美字幕 | 美女视频一区二区 | 精品久久久成人 | 少妇bbw揉bbb欧美 | 久操中文字幕在线观看 | 欧美日韩国内在线 | 高清中文字幕av | 免费在线黄网 | 天天曰夜夜爽 | 九九综合在线 | 国际精品久久 | 久久综合久久综合这里只有精品 | 在线观看午夜 | 亚洲精品久久久蜜臀下载官网 | 国产不卡在线 | 99精品视频在线播放观看 | 精品成人国产 | 亚洲欧美日韩精品一区二区 | 狠狠躁天天躁 | 国产精品日韩久久久久 | 人人爽人人爽人人爽人人爽 | 中文字幕五区 | 国内精品在线观看视频 | 91看成人 | 欧美大片在线观看一区 | 91久色蝌蚪 | 欧美一级在线观看视频 | 久久精品久久国产 | 日韩三级在线观看 | 国产精品国产三级国产aⅴ无密码 | 天天干天天操天天 | av片免费播放 | 国内少妇自拍视频一区 | 六月天色婷婷 | 国产黄a三级三级 | av久久在线| 天天射天天干天天插 | 国产综合片 | 日韩理论视频 | 久久婷婷亚洲 | 91大神免费视频 | 欧美 亚洲 另类 激情 另类 | 国产亚洲精品美女 | 亚洲精品小区久久久久久 | 天天干,天天射,天天操,天天摸 | av免费看av| 在线观看视频国产 | 亚洲成人二区 | 这里有精品在线视频 | 国产精品18久久久久久久网站 | 香蕉在线观看视频 | 人人爽人人爽人人片av免 | 日日干天天射 | 久草视频在线免费播放 | 久久国产精品电影 | 精品一区 精品二区 | 久草视频在线看 | 天天爱天天操天天爽 | 免费看的国产视频网站 | 久久久久久久久久网站 | 免费日韩视 | japanesexxxhd奶水 91在线精品一区二区 | 亚洲精品视频偷拍 | 人人讲| 午夜久久久久久久 | 欧美日韩高清一区 | 韩国三级在线一区 | 精品视频免费播放 | 亚州人成在线播放 | 久久久久久国产精品免费 | 国产电影黄色av | 手机av在线不卡 | 97超碰成人| 色av男人的天堂免费在线 | 岛国大片免费视频 | 中文字幕av专区 | 国产一级大片在线观看 | 狠狠操91 | 久久视频精品在线观看 | 成年人电影毛片 | 国产福利免费在线观看 | 91精品国产91久久久久福利 | 天天操夜夜操天天射 | 久久免费精品 | 亚洲国产精品久久久久久 | 五月婷婷视频在线 | 激情视频在线观看网址 | 色美女在线 | 久久久国产精品人人片99精片欧美一 | 97人人爽人人 | 久久久久免费看 | 91视频免费看片 | 一级欧美黄 | 一级黄色片在线观看 | 国产视频精品久久 | 香蕉久草| 91免费高清在线观看 | 中文字幕精品一区二区三区电影 | 国产一级片观看 | 亚洲精品男人天堂 | 国产高潮久久 | 视频一区二区在线 | 久久免费一 | 精品久久久久久电影 | 亚洲 欧洲 国产 日本 综合 | 亚洲另类久久 | 日韩视频二区 | 国产啊v在线观看 | 婷婷五天天在线视频 | 亚洲综合情 | 51久久成人国产精品麻豆 | 久久精品日本啪啪涩涩 | 日韩在线色视频 | 国产亚洲欧洲 | 久久高清av| 中文字幕在线观看免费高清电影 | 国产日韩欧美中文 | 最近高清中文在线字幕在线观看 | 天天在线视频色 | 中文字幕av免费 | 国产在线观看91 | 丁香婷婷激情五月 | 香蕉网在线观看 | 国产精品视屏 | 69国产盗摄一区二区三区五区 | 成年美女黄网站色大片免费看 | 国产成人精品一区二区三区在线观看 | 五月天综合在线 | 黄污网站在线 | 99在线精品视频 | 不卡av免费在线观看 | 天天干天天做 | 国产精品theporn | 九九导航 | 成人在线观看影院 | 成年人免费看片 | 中文字幕在线观看免费高清完整版 | av在线网站免费观看 | 久久少妇av| 精品久久久国产 | 国产成人精品久久久久蜜臀 | 欧美日韩超碰 | 久久久999 | 国产视频一二区 | 久久精品老司机 | 亚洲在线视频播放 | 亚洲天天综合网 | 国产精品成人自产拍在线观看 | 国产精品白浆视频 | 久久免费中文视频 | 99自拍视频在线观看 | 国产精品综合久久久久久 | 99热在线国产精品 | 久久久久欠精品国产毛片国产毛生 | 综合天天色 | 精品久久国产精品 | 黄色一级大片免费看 | 97在线资源 | 999男人的天堂 | 免费在线观看毛片网站 | 欧美一级看片 | 干 操 插 | 一区二区三区免费 | 亚洲精品中文字幕视频 | 亚洲国产精品成人综合 | 国产不卡一二三区 | av线上看 | 99精品在线直播 | 日韩精品久久久久久久电影竹菊 | 色综合网在线 | 免费高清在线观看成人 | 人人澡视频 | 九九九电影免费看 | 亚洲经典视频 | 免费观看www7722午夜电影 | 一区二区欧美在线观看 | 五月花婷婷 | 香蕉视频免费在线播放 | 日韩三级视频在线看 | 亚洲精品国产精品乱码在线观看 | 懂色av一区二区三区蜜臀 | 激情五月网站 | 欧美精品久久久久久久免费 | 黄色小网站在线 | 涩涩成人在线 | 日韩爱爱网站 | 午夜av影院 | 99久热在线精品视频 | 日本黄色免费在线 | 日韩电影中文字幕在线 | 日韩 国产 | 黄色av三级在线 | 黄色大片av| 99精品欧美一区二区三区黑人哦 | 国产成人精品999 | 最近中文字幕免费av | 激情婷婷在线观看 | 狠狠五月天 | 精品99在线视频 | 99热精品在线 | 青草视频在线 | 91麻豆精品国产91久久久久久 | 欧美午夜精品久久久久 | 久草综合在线观看 | 国产一卡久久电影永久 | 国产欧美久久久精品影院 | 麻豆91网站 | 国产精品国产自产拍高清av | 日韩大片免费在线观看 | 久久国产麻豆 | 黄色的网站免费看 | 国产精品黑丝在线观看 | 99精品国产99久久久久久福利 | 日韩精品一区在线观看 | 一区二区三区日韩视频在线观看 | 国产亚洲精品久久久久久移动网络 | 欧美一级片 | 亚洲h色精品 | 婷婷综合导航 | 玖玖在线资源 | wwwwww黄| 91视频a| 亚洲人在线7777777精品 | 亚洲精品欧洲精品 | 成人午夜片av在线看 | 免费a v观看 | 天天插日日操 | 国产精品久久久久久久久久久久冷 | 亚洲成人精品国产 | 国产91精品高清一区二区三区 | 精品久久一区二区三区 | 国产九九九视频 | 狠狠干综合网 | 色av色av色av | 久久午夜国产精品 | 成年人电影免费看 | 五月婷婷综合激情 | 久久久久 免费视频 | 九九九视频在线 | 久久国产精品久久久久 | 人人藻人人澡人人爽 | 99久久久国产精品免费99 | 欧美va天堂va视频va在线 | 91成人天堂久久成人 | 夜夜操综合网 | 中文字幕中文中文字幕 | 亚洲久草视频 | 色吊丝在线永久观看最新版本 | 91av在线视频免费观看 | 中文字幕之中文字幕 | 日韩av电影国产 | 91在线麻豆| 黄色av网站在线观看免费 | wwwwww黄| 午夜免费福利片 | 欧美精品久久久久久久久免 | 97成人在线| 日韩精品一区二区三区中文字幕 | 午夜精品影院 | 天天操夜夜摸 | 五月婷婷色播 | 六月丁香婷婷在线 | 日日爱999 | 在线国产日韩 | 国产成人综合图片 | 91麻豆福利| 婷婷综合视频 | 久久精品麻豆 | 亚洲欧美精品一区 | 久久免费看av | 色综合天天视频在线观看 | 国产一级免费视频 | 国产成人精品午夜在线播放 | 在线观看亚洲电影 | 在线成人短视频 | 国产精品毛片一区二区 | 深爱综合网 | 国产精品久久久视频 | 91精品国产网站 | 久久麻豆视频 | 久久国产一区二区三区 | 久久久久久久免费看 | 97精品国产一二三产区 | 久草久草久草久草 | 欧美黄色免费 | 国产亚洲视频中文字幕视频 | 国内精品久久久久久久久 | 黄色录像av | 超碰日韩| 五月开心六月伊人色婷婷 | 国产视频首页 | 亚洲高清色综合 | 国产精品区一区 | 99久久久久久久久 | 欧美激情视频在线免费观看 | 天天躁天天狠天天透 | 久草网站在线观看 | 中文字幕资源网 | 水蜜桃亚洲一二三四在线 | 国产精品自产拍在线观看中文 | 精品一区二区在线观看 | 国产一级高清 | 日韩精品最新在线观看 | 国产乱码精品一区二区蜜臀 | 91麻豆精品国产91久久久久久久久 | 国产性天天综合网 | 午夜精品久久久久久久爽 | 中文不卡视频 | 中文字幕在线观看完整版电影 | 国产最新视频在线观看 | 91黄在线看| 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 国产精品麻豆91 | 亚洲精品视频网站在线观看 | 波多野结衣精品视频 | 深爱激情婷婷网 | av在线直接看 |