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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis、ibatis 和spring集成

發(fā)布時(shí)間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis、ibatis 和spring集成 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

mybatis是ibatis的升級(jí)版,spring也有自帶mybatis的orm。所以,搭建ibatis的框架也會(huì)有多種方式(我這里mybatis是3.0的,ibatis是2.3的,spring是3.0的,數(shù)據(jù)庫(kù)是mysql)。下面介紹3中方式

1,只是用mybatis3。

2,使用mybatis3+spring3(使用mybatis的SqlSessionFactory )。

3,使用ibatis2.3+spring(使用spring自帶的ibatis)

spring的orm包中只有ibatis,沒有mybatis。而mybatis和ibatis還是有些區(qū)別的,比如配置文件屬性不同。

?

第一種方式(只使用mybatis):

1)jar包:

cglib-2.2.jar
asm-3.1.jar
mysql-connector-java-3.1.13.jar
mybatis-3.0.5.jar

junit.jar

2)mybatis配置文件:

[html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??><!DOCTYPE?configuration?PUBLIC?"-//mybatis.org//DTD?Config?3.0//EN"?"http://mybatis.org/dtd/mybatis-3-config.dtd">??
  • <configuration>??
  • ????<!--?參數(shù)設(shè)置?-->??
  • ????<settings>??
  • ????????<!--?這個(gè)配置使全局的映射器啟用或禁用緩存?-->??
  • ????????<setting?name="cacheEnabled"?value="true"/>??
  • ????????<!--?全局啟用或禁用延遲加載。當(dāng)禁用時(shí),所有關(guān)聯(lián)對(duì)象都會(huì)即時(shí)加載?-->??
  • ????????<setting?name="lazyLoadingEnabled"?value="true"/>??
  • ????????<!--?當(dāng)啟用時(shí),有延遲加載屬性的對(duì)象在被調(diào)用時(shí)將會(huì)完全加載任意屬性。否則,每種屬性將會(huì)按需要加載?-->??
  • ????????<setting?name="aggressiveLazyLoading"?value="true"/>??
  • ????????<!--?允許或不允許多種結(jié)果集從一個(gè)單獨(dú)的語句中返回(需要適合的驅(qū)動(dòng))?-->??
  • ????????<setting?name="multipleResultSetsEnabled"?value="true"/>??
  • ????????<!--?使用列標(biāo)簽代替列名。不同的驅(qū)動(dòng)在這方便表現(xiàn)不同。參考驅(qū)動(dòng)文檔或充分測(cè)試兩種方法來決定所使用的驅(qū)動(dòng)?-->??
  • ????????<setting?name="useColumnLabel"?value="true"/>??
  • ????????<!--?允許JDBC支持生成的鍵。需要適合的驅(qū)動(dòng)。如果設(shè)置為true則這個(gè)設(shè)置強(qiáng)制生成的鍵被使用,盡管一些驅(qū)動(dòng)拒絕兼容但仍然有效(比如Derby)?-->??
  • ????????<setting?name="useGeneratedKeys"?value="true"/>??
  • ????????<!--?指定MyBatis如何自動(dòng)映射列到字段/屬性。PARTIAL只會(huì)自動(dòng)映射簡(jiǎn)單,沒有嵌套的結(jié)果。FULL會(huì)自動(dòng)映射任意復(fù)雜的結(jié)果(嵌套的或其他情況)?-->??
  • ????????<setting?name="autoMappingBehavior"?value="PARTIAL"/>??
  • ????????<!--?配置默認(rèn)的執(zhí)行器。SIMPLE執(zhí)行器沒有什么特別之處。REUSE執(zhí)行器重用預(yù)處理語句。BATCH執(zhí)行器重用語句和批量更新?-->??
  • ????????<setting?name="defaultExecutorType"?value="SIMPLE"/>??
  • ????????<!--?設(shè)置超時(shí)時(shí)間,它決定驅(qū)動(dòng)等待一個(gè)數(shù)據(jù)庫(kù)響應(yīng)的時(shí)間?-->??
  • ????????<setting?name="defaultStatementTimeout"?value="25000"/>??
  • ????</settings>??
  • ??????
  • ????<!--?別名定義?-->??
  • ????<typeAliases>??
  • ????????<typeAlias?alias="pageAccessURL"??type="com.lgm.mybatis.model.PageAccessURL"?/>??
  • ????</typeAliases>??
  • ??????
  • ????<environments?default="development">??
  • ????????<!--?環(huán)境配置1,每個(gè)SqlSessionFactory對(duì)應(yīng)一個(gè)環(huán)境?-->??
  • ????????<environment?id="development1">??
  • ????????????<!--????
  • ????????????????事務(wù)配置?type=?JDBC、MANAGED??
  • ????????????????1.JDBC:這個(gè)配置直接簡(jiǎn)單使用了JDBC的提交和回滾設(shè)置。它依賴于從數(shù)據(jù)源得到的連接來管理事務(wù)范圍。??
  • ????????????????2.MANAGED:這個(gè)配置幾乎沒做什么。它從來不提交或回滾一個(gè)連接。而它會(huì)讓容器來管理事務(wù)的整個(gè)生命周期(比如Spring或JEE應(yīng)用服務(wù)器的上下文)。??
  • ????????????????默認(rèn)情況下它會(huì)關(guān)閉連接。然而一些容器并不希望這樣,因此如果你需要從連接中停止它,將closeConnection屬性設(shè)置為false??
  • ??????????????
  • ????????????-->??
  • ????????????<transactionManager?type="JDBC"/>??
  • ????????????<!--???
  • ????????????<transactionManager?type="MANAGED">??
  • ????????????????<property?name="closeConnection"?value="false"/>??
  • ????????????</transactionManager>??
  • ?????????????-->??
  • ?????????????<!--????
  • ????????????????數(shù)據(jù)源類型:type?=?UNPOOLED、POOLED、JNDI??
  • ????????????????1.UNPOOLED:這個(gè)數(shù)據(jù)源的實(shí)現(xiàn)是每次被請(qǐng)求時(shí)簡(jiǎn)單打開和關(guān)閉連接。它有一點(diǎn)慢,這是對(duì)簡(jiǎn)單應(yīng)用程序的一個(gè)很好的選擇,因?yàn)樗恍枰皶r(shí)的可用連接。??
  • ????????????????不同的數(shù)據(jù)庫(kù)對(duì)這個(gè)的表現(xiàn)也是不一樣的,所以對(duì)某些數(shù)據(jù)庫(kù)來說配置數(shù)據(jù)源并不重要,這個(gè)配置也是閑置的??
  • ????????????????2.POOLED:這是JDBC連接對(duì)象的數(shù)據(jù)源連接池的實(shí)現(xiàn),用來避免創(chuàng)建新的連接實(shí)例時(shí)必要的初始連接和認(rèn)證時(shí)間。??
  • ????????????????這是一種當(dāng)前Web應(yīng)用程序用來快速響應(yīng)請(qǐng)求很流行的方法。??
  • ????????????????3.JNDI:這個(gè)數(shù)據(jù)源的實(shí)現(xiàn)是為了使用如Spring或應(yīng)用服務(wù)器這類的容器,容器可以集中或在外部配置數(shù)據(jù)源,然后放置一個(gè)JNDI上下文的引用??
  • ?????????????-->??
  • ????????????<dataSource?type="UNPOOLED">??
  • ????????????????<property?name="driver"?value="com.mysql.jdbc.Driver"/>??
  • ????????????????<property?name="url"?value="jdbc:mysql://localhost:3306/appdb"/>??
  • ????????????????<property?name="username"?value="root"/>??
  • ????????????????<property?name="password"?value="123456"/>??
  • ????????????????<!--????
  • ????????????????默認(rèn)連接事務(wù)隔離級(jí)別??
  • ????????????????<property?name="defaultTransactionIsolationLevel"?value=""?/>??
  • ????????????????-->??
  • ????????????</dataSource>??
  • ??????????????
  • ????????</environment>??
  • ??????????
  • ????????<!--?環(huán)境配置2?-->??
  • ????????<environment?id="development2">??
  • ????????????<transactionManager?type="JDBC"/>??
  • ????????????<dataSource?type="POOLED">??
  • ????????????????<property?name="driver"?value="com.mysql.jdbc.Driver"/>??
  • ????????????????<property?name="url"?value="jdbc:mysql://localhost:3306/appdb"/>??
  • ????????????????<property?name="username"?value="root"/>??
  • ????????????????<property?name="password"?value="123456"/>??
  • ????????????????<!--?在任意時(shí)間存在的活動(dòng)(也就是正在使用)連接的數(shù)量?-->??
  • ????????????????<property?name="poolMaximumActiveConnections"?value="10"/>??
  • ????????????????<!--?任意時(shí)間存在的空閑連接數(shù)?-->??
  • ????????????????<property?name="poolMaximumIdleConnections"?value="5"/>??
  • ????????????????<!--?在被強(qiáng)制返回之前,池中連接被檢查的時(shí)間?-->??
  • ????????????????<property?name="poolMaximumCheckoutTime"?value="20000"/>??
  • ????????????????<!--?這是給連接池一個(gè)打印日志狀態(tài)機(jī)會(huì)的低層次設(shè)置,還有重新嘗試獲得連接,這些情況下往往需要很長(zhǎng)時(shí)間(為了避免連接池沒有配置時(shí)靜默失敗)?-->??
  • ????????????????<property?name="poolTimeToWait"?value="20000"/>??
  • ????????????????<!--?發(fā)送到數(shù)據(jù)的偵測(cè)查詢,用來驗(yàn)證連接是否正常工作,并且準(zhǔn)備接受請(qǐng)求。?-->??
  • ????????????????<property?name="poolPingQuery"?value="NO?PING?QUERY?SET"/>??
  • ????????????????<!--?這是開啟或禁用偵測(cè)查詢。如果開啟,你必須用一個(gè)合法的SQL語句(最好是很快速的)設(shè)置poolPingQuery屬性?-->??
  • ????????????????<property?name="poolPingEnabled"?value="false"/>??
  • ????????????????<!--?這是用來配置poolPingQuery多次時(shí)間被用一次。這可以被設(shè)置匹配標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)連接超時(shí)時(shí)間,來避免不必要的偵測(cè)?-->??
  • ????????????????<property?name="poolPingConnectionsNotUsedFor"?value="0"/>??
  • ????????????</dataSource>??
  • ????????</environment>??
  • ??????????
  • ????????<!--?環(huán)境配置3?-->??
  • ????????<environment?id="development3">??
  • ????????????<transactionManager?type="JDBC"/>??
  • ????????????<dataSource?type="JNDI">??
  • ????????????????<property?name="data_source"?value="java:comp/env/jndi/mybatis"/>??
  • ????????????????<property?name="env.encoding"?value="UTF8"/>??
  • ????????????????<!--???
  • ????????????????<property?name="initial_context"?value=""/>??
  • ????????????????<property?name="env.encoding"?value="UTF8"/>??
  • ?????????????????-->??
  • ????????????</dataSource>??
  • ????????</environment>??
  • ??????????????????
  • ????</environments>??
  • ??
  • ????<!--?映射文件,存放sql語句的配置文件?-->??
  • ????<mappers>??
  • ????????<mapper?resource="com/lgm/mybatis/config/pageAccessURL.xml"/>??
  • ????</mappers>??
  • ??
  • </configuration>??
  • ?

    其中<environments>屬性是數(shù)據(jù)源環(huán)境配置,可以配置多個(gè)數(shù)據(jù)源配置。每個(gè)<environment>屬性代表一種配置方式。

    加載事務(wù)配置<transactionManager > 和數(shù)據(jù)源配置<dataSource >。

    <transactionManager >? 有兩種配置方式,分別是JDBC和MANAGED,詳細(xì)說明見配置注釋。

    <dataSource > 有三種配置方式,分別是UNPOOLED、POOLED、JNDI,詳細(xì)說明見配置注釋。

    <typeAliases>定義別名,使用指定的別名來定義。

    注:關(guān)于JNDI的配置,見tomcat的幾種JNDI配置方法

    3)mybatis的sql映射配置文件:

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?mapper?PUBLIC?"-//mybatis.org//DTD?Mapper?3.0//EN"??
  • "http://mybatis.org/dtd/mybatis-3-mapper.dtd">??
  • ??
  • <mapper?namespace="pageAccessURL"?>??
  • ??
  • ????<!--???
  • ??????????cache?-?配置給定命名空間的緩存。??
  • ??????????cache-ref?–?從其他命名空間引用緩存配置。??
  • ??????????resultMap?–?最復(fù)雜,也是最有力量的元素,用來描述如何從數(shù)據(jù)庫(kù)結(jié)果集中來加載你的對(duì)象。??
  • ??????????parameterMap?–?已經(jīng)被廢棄了!老式風(fēng)格的參數(shù)映射。內(nèi)聯(lián)參數(shù)是首選,這個(gè)元素可能在將來被移除。這里不會(huì)記錄。??
  • ??????????sql?–?可以重用的SQL塊,也可以被其他語句引用。??
  • ??????????insert?–?映射插入語句??
  • ??????????update?–?映射更新語句??
  • ??????????delete?–?映射刪除語句??
  • ??????????select?–?映射查詢語句??
  • ????-->??
  • ??????
  • ????<!--?默認(rèn)不開啟二級(jí)緩存,開啟緩存<cache??eviction="FIFO"?flushInterval="60000"?size="512"?readOnly="true"/>??
  • ????????eviction:緩存策略?eviction?=?LRU、FIFO、SOFT、WEAK(默認(rèn)LRU)??
  • ????????????1)LRU:最近最少使用的:移除最長(zhǎng)時(shí)間不被使用的對(duì)象??
  • ????????????2)FIFO:先進(jìn)先出:按對(duì)象進(jìn)入緩存的順序來移除它們。??
  • ????????????3)SOFT:軟引用:移除基于垃圾回收器狀態(tài)和軟引用規(guī)則的對(duì)象。??
  • ????????????4)WEAK:弱引用:更積極地移除基于垃圾收集器狀態(tài)和弱引用規(guī)則的對(duì)象。??
  • ????????flushInterval:刷新間隔?)可以被設(shè)置為任意的正整數(shù),而且它們代表一個(gè)合理的毫秒形式的時(shí)間段。??
  • ?????????默認(rèn)情況是不設(shè)置,也就是沒有刷新間隔,緩存僅僅調(diào)用語句時(shí)刷新。??
  • ????????size:引用數(shù)目?可以被設(shè)置為任意正整數(shù),要記住你緩存的對(duì)象數(shù)目和你運(yùn)行環(huán)境的可用內(nèi)存資源數(shù)目。默認(rèn)值是1024。??
  • ????????readOnly:屬性可以被設(shè)置為true或false。只讀的緩存會(huì)給所有調(diào)用者返回緩存對(duì)象的相同實(shí)例。因此這些對(duì)象不能被修改。??
  • ????????這提供了很重要的性能優(yōu)勢(shì)??勺x寫的緩存會(huì)返回緩存對(duì)象的拷貝(通過序列化)。這會(huì)慢一些,但是安全,因此默認(rèn)是false。??
  • ????????----------------------------------------------------------------------------------------------??
  • ????????使用自定義緩存??
  • ????????<cache?type=”com.domain.something.MyCustomCache”>??
  • ????????????<property?name=”cacheFile”?value=”/tmp/my-custom-cache.tmp”/>??
  • ????????</cache>??
  • ????????type屬性指定的類必須實(shí)現(xiàn)org.mybatis.cache.Cache接口??
  • ????????----------------------------------------------------------------------------------??
  • ????????引用另外的緩存<cache-ref?namespace=”com.someone.application.data.SomeMapper”/>??
  • ????-->??
  • ??????
  • ??????
  • ????<!--????
  • ????????select元素:??
  • ????????1)parameterType:參數(shù)類型??
  • ????????2)resultType:從這條語句中返回的期望類型的類的完全限定名或別名。??
  • ????????注意集合情形,那應(yīng)該是集合可以包含的類型,而不能是集合本身。使用resultType或resultMap,但不能同時(shí)使用。??
  • ????????3)resultMap:命名引用外部的resultMap。返回map是MyBatis最具力量的特性,對(duì)其有一個(gè)很好的理解的話,許多復(fù)雜映射的情形就能被解決了。??
  • ????????使用resultMap或resultType,但不能同時(shí)使用。??
  • ????????4)flushCache:是否清空緩存,默認(rèn)false,不清空,如果為true每次查詢都會(huì)清空緩存。??
  • ????????5)useCache:將其設(shè)置為true,將會(huì)導(dǎo)致本條語句的結(jié)果被緩存。默認(rèn)值:true。??
  • ????????6)fetchSize:這是暗示驅(qū)動(dòng)程序每次批量返回的結(jié)果行數(shù)。默認(rèn)不設(shè)置(驅(qū)動(dòng)自行處理)。??
  • ????????7)statementType:STATEMENT,PREPARED或CALLABLE的一種。這會(huì)讓MyBatis使用選擇使用??
  • ????????Statement,PreparedStatement或CallableStatement。默認(rèn)值:PREPARED。??
  • ????????8)resultSetType:FORWARD_ONLY|SCROLL_SENSITIVE|SCROLL_INSENSITIVE中的一種。默認(rèn)是不設(shè)置(驅(qū)動(dòng)自行處理)。??
  • ????-->??
  • ????<!--?這里的pageAccessURL是由typeAliases定義的?-->??
  • ??????
  • ????<select?id="selectPageAccessURL"?parameterType="int"?resultType="pageAccessURL"?>??
  • ????????select?*?from?tables?where?URL_ID?=?#{id}??
  • ????</select>??
  • ??????
  • ????<select?id="selectPageAccessURLByClass"?parameterType="pageAccessURL"?resultType="pageAccessURL">??
  • ????????select?*?from?tables?where?URL_ID?=?#{urlId}?and?URL?=?#{url}??
  • ????</select>??
  • ??
  • ????<!--???
  • ????????sql:這個(gè)元素可以被用來定義可重用的SQL代碼段,可以包含在其他語句中。?
  • ????-->??
  • ????<sql?id="usercolumns">URL_ID?as?urlId,url,moduleId,state,mark</sql>??
  • ????<select?id="selectPageAccessURL2"?parameterType="int"?resultType="pageAccessURL">??
  • ????????select?<include?refid="usercolumns"?/>????
  • ????????from?tables?where?URL_ID?=?#{id}??
  • ????</select>??
  • ??????????
  • ????<!--?動(dòng)態(tài)sql語句?使用OGNL表達(dá)式-->??
  • ??????
  • ????<!--????
  • ????????resultMap?元素:??
  • ????????????1)constructor:類在實(shí)例化時(shí),用來注入結(jié)果到構(gòu)造方法中??
  • ????????????????a)idArg:ID參數(shù);標(biāo)記結(jié)果作為ID可以幫助提高整體效能??
  • ????????????????b)arg:注入到構(gòu)造方法的一個(gè)普通結(jié)果??
  • ????????????2)id:一個(gè)ID結(jié)果;標(biāo)記結(jié)果作為ID可以幫助提高整體效能??
  • ????????????3)result:注入到字段或JavaBean屬性的普通結(jié)果??
  • ????????????4)association:一個(gè)復(fù)雜的類型關(guān)聯(lián);許多結(jié)果將包成這種類型??
  • ????????????5)collection:復(fù)雜類型的集??
  • ????????????6)discriminator:使用結(jié)果值來決定使用哪個(gè)結(jié)果映射??
  • ????????????????a)case:基于某些值的結(jié)果映射??
  • ????????????---------------------------------------------------???
  • ????????resultMap下?id、result?元素:??
  • ????????????1)property:映射到列結(jié)果的字段或?qū)傩??
  • ????????????2)column:從數(shù)據(jù)庫(kù)中得到的列名,或者是列名的重命名標(biāo)簽。這也是通常和會(huì)傳遞給resultSet.getString(columnName)方法參數(shù)中相同的字符串。??
  • ????????????3)javaType:一個(gè)Java類的完全限定名,或一個(gè)類型別名(參加上面內(nèi)建類型別名的列表)。如果你映射到一個(gè)JavaBean,MyBatis通??梢詳喽愋汀??
  • ????????????然而,如果你映射到的是HashMap,那么你應(yīng)該明確地指定javaType來保證所需的行為。??
  • ????????????4)jdbcType:在這個(gè)表格之后的所支持的JDBC類型列表中的類型。JDBC類型是僅僅需要對(duì)插入,更新和刪除操作可能為空的列進(jìn)行處理。??
  • ????????????這是JDBC的需要,而不是MyBatis的。如果你直接使用JDBC編程,你需要指定這個(gè)類型-但僅僅對(duì)可能為空的值。??
  • ????????????5)typeHandler:。使用這個(gè)屬性,你可以覆蓋默認(rèn)的類型處理器。這個(gè)屬性值是類的完全限定名或者是一個(gè)類型處理器的實(shí)現(xiàn),或者是類型別名。??
  • ????????resultMap下?constructor?元素:將查詢到的對(duì)象映射到j(luò)avabean時(shí),如果javabean的構(gòu)造函數(shù)有參數(shù),則可以使用該元素來指定??
  • ????????resultMap下?association?元素:關(guān)聯(lián),比如查詢博客和該博客的用戶,通過博客關(guān)聯(lián)用戶,association里面就是用戶屬性。??
  • ????????resultMap下?collection?元素:集合,一個(gè)博客下有很多文章,collection就是存放文章的集合屬性。??
  • ????????resultMap下?discriminator?元素:鑒別器,有時(shí)一個(gè)單獨(dú)的數(shù)據(jù)庫(kù)查詢也許返回很多不同(但是希望有些關(guān)聯(lián))數(shù)據(jù)類型的結(jié)果集。??
  • ????????鑒別器元素就是被設(shè)計(jì)來處理這個(gè)情況的,還有包括類的繼承層次結(jié)構(gòu)。鑒別器非常容易理解,因?yàn)樗谋憩F(xiàn)很像Java語言中的switch語句。??
  • ????????<resultMap?id="detailedBlogResultMap"?type="Blog">??
  • ????????????<constructor>??
  • ????????????????<idArg?column="blog_id"?javaType="int"/>??
  • ????????????</constructor>??
  • ????????????<result?property="title"?column="blog_title"/>??
  • ????????????<association?property="author"?column="blog_author_id"?javaType="?Author">??
  • ????????????????<id?property="id"?column="author_id"/>??
  • ????????????????<result?property="username"?column="author_username"/>??
  • ????????????????<result?property="password"?column="author_password"/>??
  • ????????????????<result?property="email"?column="author_email"/>??
  • ????????????????<result?property="bio"?column="author_bio"/>??
  • ????????????????<result?property="favouriteSection"?column="author_favourite_section"/>??
  • ????????????</association>??
  • ????????????<collection?property="posts"?ofType="Post">??
  • ????????????????<id?property="id"?column="post_id"/>??
  • ????????????????<result?property="subject"?column="post_subject"/>??
  • ????????????????<association?property="author"?column="post_author_id"?javaType="Author"/>??
  • ????????????????<collection?property="comments"?column="post_id"?ofType="?Comment">??
  • ????????????????????<id?property="id"?column="comment_id"/>??
  • ????????????????</collection>??
  • ????????????????<collection?property="tags"?column="post_id"?ofType="?Tag"?>??
  • ????????????????????<id?property="id"?column="tag_id"/>??
  • ????????????????</collection>??
  • ????????????????<discriminator?javaType="int"?column="draft">??
  • ????????????????????<case?value="1"?resultType="DraftPost">??
  • ????????????????????????<result?property=”doorCount”?column="door_count"?/>??
  • ????????????????????</case>??
  • ????????????????</discriminator>??
  • ????????????</collection>??
  • ????????</resultMap>????????????
  • ????-->??
  • ??????????
  • ????<!--?insert?元素:??
  • ????????1)useGeneratedKeys:這會(huì)告訴MyBatis使用JDBC的getGeneratedKeys方法來取出由數(shù)據(jù)??
  • ????????(比如:像MySQL和SQL?Server這樣的數(shù)據(jù)庫(kù)管理系統(tǒng)的自動(dòng)遞增字段)內(nèi)部生成的主鍵。默認(rèn)值:false。??
  • ????????2)keyProperty:標(biāo)記一個(gè)屬性(自動(dòng)生成的那個(gè)屬性,比如主鍵id),MyBatis會(huì)通過getGeneratedKeys或者通過insert語句的selectKey子元素設(shè)置它的值。默認(rèn):不設(shè)置。??
  • ??????
  • ????-->??
  • ????<insert?id="insertTest"?>??
  • ????????<!--????
  • ????????selectKey?:在插入數(shù)據(jù)前先執(zhí)行selectKey語句,將返回的值作為keyProperty屬性值插入??
  • ????????????1)order:這可以被設(shè)置為BEFORE或AFTER。如果設(shè)置為BEFORE,那么它會(huì)首先選擇主鍵,設(shè)置keyProperty然后執(zhí)行插入語句。??
  • ????????????如果設(shè)置為AFTER,那么先執(zhí)行插入語句,然后是selectKey元素-這和如Oracle數(shù)據(jù)庫(kù)相似,可以在插入語句中嵌入序列調(diào)用。?????
  • ????????????2)statementType:和前面的相同,MyBatis支持STATEMENT,PREPARED和CALLABLE語句的映射類型,分別代表PreparedStatement和CallableStatement類型。???
  • ????????-->??
  • ????????<selectKey?keyProperty="id"?resultType="int"?order="BEFORE"?statementType="PREPARED">??
  • ????????????SELECT?FLOOR(1?+?(RAND()?*?1000000));???
  • ????????</selectKey>??
  • ????????insert?into?table?values(xx,xx);??
  • ????</insert>??
  • ??
  • ??????
  • </mapper>??
  • ??
  • ???
  • ?

    4)測(cè)試方法:

    [java] view plaincopy
  • ????public?void?testSelect(){??
  • ??????????
  • ????????try?{??
  • ????????????Reader?reader?=?Resources.getResourceAsReader("mybatis-config-mappings.xml");??
  • ????????????SqlSessionFactory?sqlSessionFactory?=?new?SqlSessionFactoryBuilder().build(reader,"development1");??
  • ????????????SqlSession?session?=?sqlSessionFactory.openSession();??
  • ????????????PageAccessURL?pageAccessURL?=(PageAccessURL)session.selectOne("selectPageAccessURL2",?70001);??
  • //????????????
  • //??????????PageAccessURL?page?=?new?PageAccessURL();??
  • //??????????page.setUrlId("70001");??
  • //??????????page.setUrl("warrantAndCbbcInfo.jsp");??
  • //??????????PageAccessURL?pageAccessURL?=(PageAccessURL)session.selectOne("selectPageAccessURLByClass",page);??
  • ??????????????
  • ????????????session.close();??
  • ????????????reader.close();??
  • ????????????System.out.println(pageAccessURL.getUrl());??
  • ????????}?catch?(IOException?e)?{??
  • ????????????System.out.println(e);??
  • ????????}??
  • ????}??
  • SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader,"development1"); 后面的development1是前面講的數(shù)據(jù)源配置方式之一。如果要測(cè)試jndi的,則要通過容器加載后進(jìn)行。



    ?

    ?第二種方式(mybatis3.0+spring3.0,spring自帶的orm中,只有ibatis的,沒有mybatis,所以使用mybatis3和spring整合的話只能用SqlSessionFactory 了);

    1)jar包:

    mybatis-3.0.5.jar
    mysql-connector-java-3.1.13.jar
    cglib-2.2.jar
    asm-3.1.jar
    aopalliance-1.0.jar
    commons-logging-1.1.1.jar
    hsqldb-1.8.0.10.jar
    jstl-1.2.jar
    log4j-1.2.16.jar
    mybatis-spring-1.0.1.jar
    spring-aop-3.0.5.RELEASE.jar
    spring-asm-3.0.5.RELEASE.jar
    spring-beans-3.0.5.RELEASE.jar
    spring-context-3.0.5.RELEASE.jar
    spring-core-3.0.5.RELEASE.jar
    spring-expression-3.0.5.RELEASE.jar
    spring-jdbc-3.0.5.RELEASE.jar
    spring-tx-3.0.5.RELEASE.jar
    spring-web-3.0.5.RELEASE.jar
    stripes-1.5.6.jar
    commons-dbcp-1.2.2.jar
    commons-pool-1.3.jar

    junit.jar

    2)spring配置文件:

    applicationContext.xml

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">??
  • ??
  • <beans>??
  • ????<import?resource="applicationContext-dao.xml"?/>??
  • </beans>??
  • applicationContext.xml

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">??
  • ??
  • <beans>??
  • ??
  • ????<bean?id="transactionManager"?class="org.springframework.jdbc.datasource.DataSourceTransactionManager">??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????</bean>??
  • ??????
  • ????<bean?id="sqlSessionFactory"?class="org.mybatis.spring.SqlSessionFactoryBean">??
  • ????????<property?name="configLocation"?value="classpath:mybatis-config-mappings.xml"?/>??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????</bean>??
  • ??????
  • ????<bean?id="dataSource"?class="org.apache.commons.dbcp.BasicDataSource"?destroy-method="close">??
  • ????????<property?name="driverClassName"?value="com.mysql.jdbc.Driver"?/>??
  • ????????<property?name="url"?value="jdbc:mysql://localhost.hk:3306/appdb"?/>??
  • ????????<property?name="username"?value="root"?/>??
  • ????????<property?name="password"?value="123456"?/>??
  • ????????<property?name="maxActive"?value="100"?/>??
  • ????????<property?name="maxIdle"?value="5"?/>??
  • ????????<property?name="minEvictableIdleTimeMillis"?value="300000"?/>??
  • ????????<property?name="timeBetweenEvictionRunsMillis"?value="120000"?/>??
  • ????????<property?name="validationQuery"?value="SELECT?1"?/>??
  • ????????<property?name="testWhileIdle"?value="true"?/>??
  • ????????<property?name="testOnReturn"?value="true"?/>??
  • ????????<property?name="testOnBorrow"?value="true"?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="pageAccessURLManager"?class="com.lgm.mybatis.manager.PageAccessURLManager">??
  • ????????<property?name="sqlSessionFactory"?ref="sqlSessionFactory"?/>??
  • ????</bean>??
  • ??
  • </beans>??

  • 關(guān)于spring的其他數(shù)據(jù)源配置,這里就不寫了。

    ?

    4)mybatis的配置文件:

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?configuration?PUBLIC?"-//mybatis.org//DTD?Config?3.0//EN"??
  • "http://mybatis.org/dtd/mybatis-3-config.dtd">??
  • ??
  • <configuration>??
  • ????<settings>??
  • ????????<!--?這個(gè)配置使全局的映射器啟用或禁用緩存?-->??
  • ????????<setting?name="cacheEnabled"?value="true"/>??
  • ????????<!--?全局啟用或禁用延遲加載。當(dāng)禁用時(shí),所有關(guān)聯(lián)對(duì)象都會(huì)即時(shí)加載?-->??
  • ????????<setting?name="lazyLoadingEnabled"?value="true"/>??
  • ????????<!--?當(dāng)啟用時(shí),有延遲加載屬性的對(duì)象在被調(diào)用時(shí)將會(huì)完全加載任意屬性。否則,每種屬性將會(huì)按需要加載?-->??
  • ????????<setting?name="aggressiveLazyLoading"?value="true"/>??
  • ????????<!--?允許或不允許多種結(jié)果集從一個(gè)單獨(dú)的語句中返回(需要適合的驅(qū)動(dòng))?-->??
  • ????????<setting?name="multipleResultSetsEnabled"?value="true"/>??
  • ????????<!--?使用列標(biāo)簽代替列名。不同的驅(qū)動(dòng)在這方便表現(xiàn)不同。參考驅(qū)動(dòng)文檔或充分測(cè)試兩種方法來決定所使用的驅(qū)動(dòng)?-->??
  • ????????<setting?name="useColumnLabel"?value="true"/>??
  • ????????<!--?允許JDBC支持生成的鍵。需要適合的驅(qū)動(dòng)。如果設(shè)置為true則這個(gè)設(shè)置強(qiáng)制生成的鍵被使用,盡管一些驅(qū)動(dòng)拒絕兼容但仍然有效(比如Derby)?-->??
  • ????????<setting?name="useGeneratedKeys"?value="true"/>??
  • ????????<!--?指定MyBatis如何自動(dòng)映射列到字段/屬性。PARTIAL只會(huì)自動(dòng)映射簡(jiǎn)單,沒有嵌套的結(jié)果。FULL會(huì)自動(dòng)映射任意復(fù)雜的結(jié)果(嵌套的或其他情況)?-->??
  • ????????<setting?name="autoMappingBehavior"?value="PARTIAL"/>??
  • ????????<!--?配置默認(rèn)的執(zhí)行器。SIMPLE執(zhí)行器沒有什么特別之處。REUSE執(zhí)行器重用預(yù)處理語句。BATCH執(zhí)行器重用語句和批量更新?-->??
  • ????????<setting?name="defaultExecutorType"?value="SIMPLE"/>??
  • ????????<!--?設(shè)置超時(shí)時(shí)間,它決定驅(qū)動(dòng)等待一個(gè)數(shù)據(jù)庫(kù)響應(yīng)的時(shí)間?-->??
  • ????????<setting?name="defaultStatementTimeout"?value="25000"/>??
  • ????</settings>??
  • ??????
  • ????<!--?別名定義?-->??
  • ????<typeAliases>??
  • ????????<typeAlias?alias="pageAccessURL"??type="com.lgm.mybatis.model.PageAccessURL"?/>??
  • ????</typeAliases>??
  • ??????
  • ??
  • ????<!--?映射文件,存放sql語句的配置文件?-->??
  • ????<mappers>??
  • ????????<mapper?resource="com/lgm/mybatis/config/pageAccessURL.xml"/>??
  • ????</mappers>??
  • ??
  • </configuration>??

  • 使用了spring管理的話,這里就不用設(shè)置數(shù)據(jù)源等其他配置了

    ?

    5)mybatis的sql映射文件配置:

    同方式一配置的sql映射文件配置

    ?

    6)配置DAO層:

    [java] view plaincopy
  • public?class?PageAccessURLManager?{??
  • ??
  • ??
  • ????private?SqlSessionFactory?sqlSessionFactory?;??
  • ??
  • ????public?void?setSqlSessionFactory(SqlSessionFactory?sqlSessionFactory)?{??
  • ????????this.sqlSessionFactory?=?sqlSessionFactory;??
  • ????}??
  • ??????
  • ????public?PageAccessURL?getPageAccessURL(int?url_id){??
  • ????????PageAccessURL?page?=?(PageAccessURL)sqlSessionFactory.openSession().selectOne("selectPageAccessURL",url_id);??
  • ????????System.out.println(page.getUrl());??
  • ????????return?page;??
  • ????}??
  • }??

  • 7)測(cè)試:

    [java] view plaincopy
  • public?void?testSelect()?{??
  • ????ApplicationContext?tx?=?new?ClassPathXmlApplicationContext("applicationContext.xml");??
  • ????PageAccessURLManager?page?=?(PageAccessURLManager)tx.getBean("pageAccessURLManager");??
  • ????page.getPageAccessURL(123456);??
  • }??

  • ?

    第三種方式(ibatis2.3+spring3):

    1)jar包:

    mysql-connector-java-3.1.13.jar
    log4j-1.2.16.jar
    org.springframework.aop-3.0.5.RELEASE.jar
    org.springframework.beans-3.0.5.RELEASE.jar
    org.springframework.core-3.0.5.RELEASE.jar
    org.springframework.orm-3.0.5.RELEASE.jar
    org.springframework.web-3.0.5.RELEASE.jar
    org.springframework.web.servlet-3.0.5.RELEASE.jar
    org.springframework.context-3.0.5.RELEASE.jar
    org.springframework.context.support-3.0.5.RELEASE.jar
    commons-logging-1.1.1.jar
    spring-asm-3.0.5.RELEASE.jar
    spring-expression-3.0.5.RELEASE.jar
    spring-jdbc-3.0.5.RELEASE.jar
    spring-tx-3.0.5.RELEASE.jar
    commons-dbcp-1.2.2.jar
    commons-pool-1.3.jar
    ibatis-2.3.0.677.jar

    junit.jar

    ?

    2)spring配置文件:

    applicationContext.xml

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">??
  • ??
  • <beans>??
  • ????<import?resource="applicationContext-dao.xml"?/>??
  • </beans>??
  • applicationContext-dao.xml

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">??
  • ??
  • <beans>??
  • ??
  • ????<bean?id="transactionManager"?class="org.springframework.jdbc.datasource.DataSourceTransactionManager">??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????</bean>??
  • ??????
  • ????<bean?id="sqlMapClient"?class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">??
  • ????????<property?name="configLocation"?value="classpath:mybatis-config-mappings.xml"?/>??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????</bean>??
  • ??
  • ??????
  • ????<bean?id="dataSource"?class="org.apache.commons.dbcp.BasicDataSource"?destroy-method="close">??
  • ????????<property?name="driverClassName"?value="com.mysql.jdbc.Driver"?/>??
  • ????????<property?name="url"?value="jdbc:mysql://localhost:3306/appdb"?/>??
  • ????????<property?name="username"?value="root"?/>??
  • ????????<property?name="password"?value="123456"?/>??
  • ????????<property?name="maxActive"?value="100"?/>??
  • ????????<property?name="maxIdle"?value="5"?/>??
  • ????????<property?name="minEvictableIdleTimeMillis"?value="300000"?/>??
  • ????????<property?name="timeBetweenEvictionRunsMillis"?value="120000"?/>??
  • ????????<property?name="validationQuery"?value="SELECT?1"?/>??
  • ????????<property?name="testWhileIdle"?value="true"?/>??
  • ????????<property?name="testOnReturn"?value="true"?/>??
  • ????????<property?name="testOnBorrow"?value="true"?/>??
  • ????</bean>??
  • ??
  • ????<bean?id="pageAccessURLManager"?class="com.lgm.mybatis.manager.PageAccessURLManager">??
  • ????????<property?name="sqlMapClient"?ref="sqlMapClient"?/>??
  • ????</bean>??
  • ??
  • </beans>??


  • 3)ibatis配置文件:

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?sqlMapConfig?PUBLIC?"-//iBATIS.com//DTD?SQL?Map?Config?2.0//EN"?"http://www.ibatis.com/dtd/sql-map-config-2.dtd">??
  • ??
  • <sqlMapConfig>??
  • ????<settings?cacheModelsEnabled="true"?enhancementEnabled="true"??
  • ????????lazyLoadingEnabled="true"?maxRequests="32"?maxSessions="10"??
  • ????????maxTransactions="5"?useStatementNamespaces="false"?/>??
  • ??????
  • ????<!--?別名定義?-->??
  • ????<typeAlias?alias="pageAccessURL"??type="com.lgm.mybatis.model.PageAccessURL"?/>??
  • ????<!--?映射文件,存放sql語句的配置文件?-->??
  • ????<sqlMap?resource="com/lgm/mybatis/config/pageAccessURL.xml"/>??
  • ??????
  • </sqlMapConfig>??

  • 4)ibatis的sql映射配置文件:

    [html] view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?sqlMap??PUBLIC?"-//iBATIS.com//DTD?SQL?Map?2.0//EN"?"http://www.ibatis.com/dtd/sql-map-2.dtd">??
  • <sqlMap?namespace="pageAccessURL">??
  • ??????
  • ????<cacheModel?id="productCache"?type="LRU">??
  • ????????<flushInterval?hours="24"/>??
  • ????????<property?name="size"?value="1000"?/>??
  • ????</cacheModel>??
  • ??
  • ????<select?id="selectPageAccessURL"?parameterClass="int"?resultClass="pageAccessURL"?cacheModel="productCache">??
  • ????????select?*?from?PAGE_ACCESS_URL?where?URL_ID?=?#id#??
  • ????</select>??
  • ??????
  • ????<select?id="selectPageAccessURLByClass"?parameterClass="pageAccessURL"?resultClass="pageAccessURL">??
  • ????????select?*?from?PAGE_ACCESS_URL?where?URL_ID?=?#urlId#?and?URL?=?#url#??
  • ????</select>??
  • ??
  • ????<sql?id="usercolumns">URL_ID?as?urlId,url,moduleId,state,mark</sql>??
  • ????<select?id="selectPageAccessURL2"?parameterClass="int"?resultClass="pageAccessURL">??
  • ????????select?<include?refid="usercolumns"?/>????
  • ????????from?PAGE_ACCESS_URL?where?URL_ID?=?#id#??
  • ????</select>??
  • ??????
  • ????<insert?id="insertTest"?>??
  • ????????<selectKey?keyProperty="id"?resultClass="int"?>??
  • ????????????SELECT?FLOOR(1?+?(RAND()?*?1000000));???
  • ????????</selectKey>??
  • ????????insert?into?table?values(xx,xx);??
  • ????</insert>??
  • ??
  • </sqlMap>??

  • 5)配置DAO層:

    [html] view plaincopy
  • public?class?PageAccessURLManager?{??
  • ??
  • ????private?SqlMapClient?sqlMapClient?;??
  • ????public?void?setSqlMapClient(SqlMapClient?sqlMapClient)?{??
  • ????????this.sqlMapClient?=?sqlMapClient;??
  • ????}??
  • ??????
  • ????public?void?getPageAccessURL(int?urlId)?throws?SQLException{??
  • ????????PageAccessURL?page?=?(PageAccessURL)this.sqlMapClient.queryForObject("selectPageAccessURL",?urlId);??
  • ????????System.out.println(page.getUrl());??
  • ????}??
  • ??????????
  • }??

  • 注意:請(qǐng)仔細(xì)對(duì)比mybatis和ibatis的配置區(qū)別。

    ?

    6)測(cè)試:

    同方式二的測(cè)試;

    ?

    ?

    ?關(guān)于注解方式的我不是很喜歡,所以...

    over....

    轉(zhuǎn)載于:https://www.cnblogs.com/nizuimeiabc1/p/4254230.html

    總結(jié)

    以上是生活随笔為你收集整理的mybatis、ibatis 和spring集成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    伊人干综合 | 日韩欧美在线综合网 | 在线视频中文字幕一区 | 天天撸夜夜操 | 91cn国产在线 | 天堂视频中文在线 | av中文字幕在线电影 | 探花视频免费观看高清视频 | 一本一本久久a久久精品综合 | 欧美色久 | 国产精品乱码高清在线看 | 色99色| 久久av免费观看 | 91精品视频播放 | 国产在线精品福利 | 男女激情麻豆 | 最新亚洲视频 | 亚洲高清av | 久久艹欧美 | 在线蜜桃视频 | 69av视频在线| 中文字幕不卡在线88 | 欧美一级欧美一级 | 成人观看视频 | 黄色91免费观看 | 午夜视频一区二区 | 99在线热播精品免费 | 日韩有码第一页 | 欧美成人性网 | 4438全国亚洲精品观看视频 | 欧美永久视频 | 九九热精品视频在线播放 | 国产免费大片 | 久久免费视屏 | 美女网站在线观看 | 九九热免费观看 | 国产黄色在线 | 国产在线一卡 | 久一网站| 欧美伊人网 | 国产视频九色蝌蚪 | 91一区在线观看 | 超碰97久久 | 天天操伊人 | 国产免费xvideos视频入口 | 国产亚洲欧美一区 | 视频一区二区在线 | 91在线视频免费播放 | 久久免费精品国产 | 天堂视频中文在线 | 看国产黄色大片 | 综合天天网 | 国产亚洲免费观看 | 日韩在线不卡av | bayu135国产精品视频 | 欧美一区二区精美视频 | 国产精品久久一卡二卡 | 久久精品国产免费看久久精品 | 精品久久久久久亚洲综合网 | 99视频在线观看一区三区 | japanese黑人亚洲人4k | 精品国产一区二区三区久久久 | 亚洲欧美经典 | 91天堂素人约啪 | av中文天堂 | 国产在线观看污片 | 欧美日韩国产成人 | 久久国产亚洲 | 91视频成人免费 | 在线免费观看黄色大片 | 欧美在线观看视频一区二区三区 | 久久精品亚洲综合专区 | 国产99久久精品 | 7777精品伊人久久久大香线蕉 | 日韩毛片在线播放 | 婷婷精品 | 久久亚洲影视 | 日日摸日日添夜夜爽97 | 久久国产香蕉视频 | 一本—道久久a久久精品蜜桃 | 国产精品久久久av久久久 | 99热精品在线观看 | 国产亚洲字幕 | 91桃色在线观看视频 | 中文字幕电影高清在线观看 | 亚州天堂 | 亚洲综合欧美激情 | 日本中文字幕高清 | 午夜精品一二三区 | 中文字幕av在线不卡 | 99视频在线精品免费观看2 | 欧美影片 | 97视频网站 | 色婷婷国产精品一区在线观看 | 欧美日韩一区久久 | 911香蕉视频 | 国产一区福利在线 | 免费a级黄色毛片 | 狠狠躁天天躁 | 青草草在线视频 | 9在线观看免费高清完整版在线观看明 | av电影在线观看 | 国产美女视频网站 | 首页国产精品 | 亚洲精品在线一区二区 | 天堂av中文字幕 | 热久久免费视频精品 | 国产不卡在线视频 | 久久99精品久久久久久清纯直播 | 精品福利在线视频 | 欧美日韩在线观看视频 | 天天艹天天 | 综合婷婷丁香 | 亚洲少妇激情 | 右手影院亚洲欧美 | 亚洲精品男人天堂 | 黄色软件视频网站 | 亚洲免费精品一区二区 | 久久爱992xxoo| 久久精品综合视频 | 婷婷伊人五月 | 久久99国产精品自在自在app | 麻豆精品传媒视频 | 精品av在线播放 | 国产黄免费看 | 亚洲jizzjizz日本少妇 | 亚洲精品视频网站在线观看 | 色婷婷在线观看视频 | 九色精品免费永久在线 | 91热这里只有精品 | 丁香六月五月婷婷 | 中文字幕免费在线 | 亚洲一二区视频 | 手机在线中文字幕 | 日韩99热 | av丝袜天堂 | 亚洲高清不卡av | 亚洲五月婷婷 | 日韩免费一区二区三区 | 国产精品夜夜夜一区二区三区尤 | 国内精品久久久久影院一蜜桃 | 久久久综合九色合综国产精品 | 久久精品官网 | 在线观看黄色大片 | 国产一级黄色片免费看 | 黄网站色视频 | 成年人免费在线观看网站 | 欧美a级成人淫片免费看 | 久久综合狠狠综合久久狠狠色综合 | 亚洲人毛片 | 久久精品欧美一区二区三区麻豆 | 九九热精品视频在线观看 | avav片| 午夜久久电影网 | 韩国一区视频 | 国精产品999国精产 久久久久 | 亚洲最新av网址 | 91九色成人| 日韩午夜精品福利 | 国产美女在线精品免费观看 | 在线免费国产视频 | 国产精品手机看片 | 亚洲视频第一页 | 久久字幕网 | 日韩欧美一区二区三区视频 | 在线亚洲人成电影网站色www | 91中文在线观看 | 国产成人在线观看 | 成人a在线观看高清电影 | 午夜成人免费影院 | 日韩精品一区不卡 | 亚洲精品大片www | 久久天天操 | 国产打女人屁股调教97 | 久久综合九色九九 | 亚洲精品久久激情国产片 | 在线观看91精品国产网站 | 天天天天天天天天操 | 999电影免费在线观看 | 日韩欧美在线高清 | 国产精品一区二区 91 | 婷婷丁香色综合狠狠色 | 在线免费观看黄色小说 | 国产日韩欧美视频 | 国产香蕉久久精品综合网 | 亚洲综合少妇 | 黄色网址a| 欧美日韩视频精品 | 日韩电影久久久 | 亚洲欧洲国产精品 | 天天噜天天色 | 国产黑丝一区二区 | 亚洲精品中文字幕视频 | 91麻豆免费视频 | 91最新在线视频 | 国产精品综合久久 | 中文字幕在线播放日韩 | 天天射天天干天天插 | 久久99精品国产麻豆婷婷 | 久久午夜色播影院免费高清 | 成人小视频在线 | 国产精品午夜在线 | 日本久久高清视频 | 欧美一区二区三区在线播放 | 亚洲精品小区久久久久久 | 最新国产在线 | 黄色a级片在线观看 | 狠狠色丁香久久婷婷综合丁香 | 日韩精品欧美专区 | 久久99国产精品二区护士 | 中文字幕字幕中文 | 91看国产 | 亚洲电影第一页av | 中文字幕成人在线 | 婷婷久久婷婷 | 夜夜操综合网 | 黄色三级网站在线观看 | 狠狠操精品| av在线8 | 久草在线免费看视频 | 国产片免费在线观看视频 | 狠狠狠色丁香综合久久天下网 | 日韩视频图片 | 欧美日本不卡 | 色99久久| 久久国产精品99久久久久 | 99视频在线免费看 | 91在线看视频免费 | 九九热在线免费观看 | 日韩免费av在线 | 亚洲日b视频 | 亚洲国产美女精品久久久久∴ | 美女黄视频免费看 | 啪啪凸凸 | 久久午夜精品影院一区 | 国产一区二区在线观看视频 | 丁香在线观看完整电影视频 | 九九九九精品九九九九 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 91精品国产91久久久久 | 免费视频成人 | a天堂中文在线 | 手机看片国产 | 日本久久久久久科技有限公司 | 日韩av有码在线 | 久久精品国产亚洲精品 | 成年人黄色在线观看 | 西西444www | 久久成人午夜视频 | 日韩二区在线观看 | 91成品人影院 | 国内精品久久久久久久 | 最近中文字幕免费 | 免费成人在线观看 | 五月天com | 国产福利小视频在线 | 成人毛片a | 亚洲四虎| 精品嫩模福利一区二区蜜臀 | 国产伦精品一区二区三区… | 97超碰人人澡人人 | 国产精品6999成人免费视频 | 五月天综合网站 | 日韩免费电影在线观看 | 人人澡人人草 | 欧美日韩在线观看一区二区三区 | 久久久精品免费观看 | 97色国产| 亚洲欧美精品在线 | 亚洲视频在线免费观看 | 日韩视频图片 | 亚洲精品99| 91精品国产麻豆 | av亚洲产国偷v产偷v自拍小说 | 99在线精品免费视频九九视 | 狠狠色伊人亚洲综合网站色 | 亚洲一二视频 | 日本xxxxav | 日本女人b| 黄色av成人在线 | 欧美一级特黄aaaaaa大片在线观看 | 一区二区三区在线免费播放 | 99精品国产aⅴ | 国产专区日韩专区 | 一区二区精品在线 | 国产精品一区二区av日韩在线 | 久久久免费观看 | 久久久久久久久久影院 | 在线免费观看亚洲视频 | 丁香五月亚洲综合在线 | 欧美日韩中文另类 | 色婷婷久久一区二区 | 国产日本在线观看 | 婷婷综合久久 | 91探花在线视频 | 成片免费观看视频大全 | 在线观看免费91 | 久久久国际精品 | 天天射天天干天天爽 | 国产精品久久久久久吹潮天美传媒 | 91九色蝌蚪国产 | 亚洲网久久 | 在线看国产精品 | 亚洲精品国产精品99久久 | 天天操操操操操 | 成人免费电影 | 中文字幕一区二区三区在线观看 | 四虎小视频 | 亚洲精品一区二区在线观看 | 激情xxxx| 国精产品一二三线999 | 国产一级做a爱片久久毛片a | 国产高清不卡在线 | 精品视频在线免费观看 | 四虎国产永久在线精品 | 亚洲国产日韩一区 | 久久99久久精品 | 综合在线观看 | 久久97久久97精品免视看 | 四虎成人免费观看 | 欧美极品少妇xxxx | 麻豆久久一区二区 | 国产日产精品一区二区三区四区 | 国产不卡在线观看视频 | 在线观看视频国产 | 亚洲a成人v| 日p视频在线观看 | 91禁在线看 | 黄色一级大片免费看 | 亚洲黄色免费观看 | 国产亚洲精品久久网站 | 免费又黄又爽的视频 | 精品1区2区3区 | 国产精品久久久久久吹潮天美传媒 | 91亚洲精品国偷拍 | 一级成人在线 | 国产精品一区二区三区在线 | 美女视频网站久久 | 91 中文字幕 | 欧美人人 | 91亚洲狠狠婷婷综合久久久 | 亚洲日本国产 | 亚洲伊人色 | 亚洲综合欧美激情 | 91精品国产高清自在线观看 | www久草 | 久久艹影院 | 天天操天天射天天 | 国产污视频在线观看 | 91丨九色丨国产在线 | 亚洲一级二级 | 欧美性爽爽 | 狠狠色狠狠色合久久伊人 | 免费在线观看一区二区三区 | 九九热在线精品视频 | 免费精品在线视频 | 国产亚洲精品久久网站 | 伊人伊成久久人综合网站 | 91福利视频久久久久 | 亚洲视频电影在线 | 亚洲涩涩色 | 欧美日韩不卡一区二区三区 | 国产一区欧美在线 | 91精品国产九九九久久久亚洲 | 国产精品成人一区二区三区吃奶 | 亚洲高清在线 | av在线免费播放网站 | 亚洲一级特黄 | 96精品在线| 国产黄色精品网站 | 国产精品第十页 | 精品国产诱惑 | 9999国产| 久草免费在线视频 | 国产精品videossex国产高清 | 国产剧情在线一区 | 免费观看特级毛片 | 国产精品99久久久久久武松影视 | 婷婷中文字幕综合 | 国产91精品高清一区二区三区 | 亚洲精品一区中文字幕乱码 | 在线免费中文字幕 | 在线观看涩涩 | 丁香花五月| 久久99精品久久久久久三级 | 国产成人专区 | 日韩免费福利 | 九九九九精品九九九九 | 国产精品18久久久久久久 | 正在播放五月婷婷狠狠干 | 日韩色中色 | 国内精品久久久久影院一蜜桃 | 中文字幕日本在线观看 | 96久久欧美麻豆网站 | 久久国产免费看 | 婷婷五综合 | 91精品视频在线观看免费 | www.久久久久 | 欧洲高潮三级做爰 | 婷婷国产视频 | 在线播放 日韩专区 | 一区二区不卡视频在线观看 | 丁香久久五月 | 国外av在线 | 天天干天天综合 | 黄色免费看片网站 | 国产精品正在播放 | 亚洲激情婷婷 | 国产一区成人在线 | 欧美精品九九99久久 | 久久久久一区二区三区 | 美女中文字幕 | 黄色网免费 | 中文在线最新版天堂 | av在线免费在线 | 久久成人免费电影 | 国产精品精品视频 | 日本久久久久久科技有限公司 | 国产黄a三级 | 女人高潮特级毛片 | 国产一级淫片免费看 | 五月天婷婷在线视频 | 免费热情视频 | av免费福利 | 人成午夜视频 | 久久国产精品系列 | 懂色av一区二区在线播放 | 欧美少妇xxx | 久久任你操 | 亚洲成人精品在线 | 91免费在线看片 | 国产午夜精品一区二区三区在线观看 | 日女人免费视频 | 美女视频黄的免费的 | 激情久久一区二区三区 | 国产爽妇网 | 午夜精品中文字幕 | 午夜性色 | 久久精品欧美一区二区三区麻豆 | 婷婷播播网| 亚洲国产成人精品在线观看 | 国产精品第72页 | 免费三级骚 | 亚洲亚洲精品在线观看 | 一区二区三区免费播放 | av中文字幕在线免费观看 | 成人性生交大片免费观看网站 | 国产精品久久久久久影院 | 国产精品一区免费在线观看 | 99精品视频免费观看视频 | 碰超在线 | 男女视频91 | av蜜桃在线 | 99爱视频| 亚洲国产精品资源 | 天堂av一区二区 | 欧美精品久久人人躁人人爽 | 在线精品视频免费播放 | 日日碰狠狠躁久久躁综合网 | 日韩成人av在线 | av短片在线观看 | 在线免费精品视频 | 亚洲精品一区二区三区四区高清 | 国产一级三级 | 成人一级片在线观看 | 色偷偷888欧美精品久久久 | 久久视频免费在线观看 | 午夜久久久精品 | 在线观看视频黄 | 日韩在线免费小视频 | 成人国产精品久久久 | 免费毛片aaaaaa | 日本久久成人中文字幕电影 | 日韩高清不卡在线 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 超级碰碰碰视频 | 成年人免费在线观看 | 国产福利a | 在线日韩精品视频 | 国产99一区视频免费 | 在线观看国产区 | 成人播放器 | 久久精品在线免费观看 | 久久伊人八月婷婷综合激情 | 国产美女主播精品一区二区三区 | 欧美日韩中文在线观看 | 亚洲精品麻豆视频 | 色婷婷色 | 日日噜噜噜噜夜夜爽亚洲精品 | www.国产在线 | 国产亚洲精品久久久久久网站 | 国内精品久久久久久久久久久久 | 蜜臀av夜夜澡人人爽人人桃色 | 色激情五月 | 精品久久久久久电影 | 免费日韩精品 | 久久伊人精品一区二区三区 | 成人在线视频论坛 | 二区三区中文字幕 | 免费又黄又爽 | 国产高清区 | 色中射| 在线视频亚洲 | 激情电影在线观看 | 久草久热| av高清一区 | 日韩在线电影一区二区 | av免费在线看网站 | 又大又硬又黄又爽视频在线观看 | 91精品专区 | 黄色小说免费观看 | 成人午夜免费剧场 | 四虎在线免费视频 | 国产经典av | 在线性视频日韩欧美 | 久久呀 | 国产精品免费麻豆入口 | 三级av免费观看 | 97视频免费 | 色婷婷狠狠| 97在线视频免费 | 91超碰免费在线 | 九九久久久 | 亚洲精品激情 | 国产91成人在在线播放 | 久久色在线播放 | 免费av成人在线 | 国产在线观看二区 | 久久久精品影视 | 成人中文字幕在线 | 精品国产亚洲一区二区麻豆 | 久久69av | 免费a视频在线观看 | 亚州国产视频 | 国产在线观看a | 色久天| 国产精品99蜜臀久久不卡二区 | 国产大陆亚洲精品国产 | 亚洲精品久久视频 | 国产在线色视频 | 欧美国产高清 | 久久久一本精品99久久精品 | 91精品一区二区三区蜜臀 | 欧美a级片免费看 | 午夜性盈盈 | 热久久电影 | 美女免费av | 天天操天天射天天插 | 日本狠狠干 | 日日麻批40分钟视频免费观看 | 91精品国产一区二区三区 | 亚洲天堂网站视频 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 婷婷丁香激情 | 色视频网站在线观看一=区 a视频免费在线观看 | 成人在线视频免费 | 国产在线中文 | 97精品一区 | 免费看毛片网站 | 韩国av三级| 亚洲在线色 | 超碰97在线看| 国产午夜精品久久久久久久久久 | 欧美一级专区免费大片 | 久久精品国产一区 | 国产免费资源 | 国产一级视频在线观看 | 亚洲乱亚洲乱亚洲 | 成人av网址大全 | 四虎国产免费 | 国内精品福利视频 | 国产精品va在线观看入 | 亚洲一区二区三区91 | 国产美女免费观看 | 日日夜夜精品免费观看 | 日韩精品第一区 | 国产99久久久国产精品免费看 | 91精品在线免费视频 | www黄色com | 亚洲视频 中文字幕 | 亚洲成人动漫在线观看 | 九草在线视频 | 婷婷激情五月综合 | 欧美日韩视频在线观看一区二区 | 中文字幕视频播放 | 欧美 亚洲 另类 激情 另类 | 女人魂免费观看 | 日本99热 | 麻豆小视频在线观看 | 国产在线精品区 | 国产 视频 高清 免费 | 国产精品久一 | 欧美一区二区三区在线播放 | 日日操天天射 | 日韩网站在线观看 | 国产精品6999成人免费视频 | 精品福利视频在线 | 五月婷婷六月丁香 | 国产成人免费在线观看 | 91精品资源 | 又色又爽又激情的59视频 | 成人97视频一区二区 | 国产福利一区二区三区视频 | 奇米网8888 | 成人av在线影视 | 日本特黄特色aaa大片免费 | 国产成人一级 | 日日夜精品 | 高潮毛片无遮挡高清免费 | 久久久久久久久亚洲精品 | 亚洲视频一级 | 久久久亚洲麻豆日韩精品一区三区 | 成人a毛片 | 精品国产免费人成在线观看 | 久久综合九色综合久99 | 国产精品一二三 | 国产精品久久久久久999 | 亚洲精品视频中文字幕 | 98久9在线 | 免费 | 麻花传媒mv免费观看 | 久久久久久久久久网 | 91高清视频 | 2019中文字幕第一页 | 99精品在线免费在线观看 | 久久精品成人热国产成 | 狠狠干婷婷色 | 在线一区观看 | 亚洲精品97 | 久久久亚洲麻豆日韩精品一区三区 | 天天插综合网 | 婷婷色综合色 | 成人高清在线 | 亚洲在线免费视频 | 在线观看一 | 午夜精品三区 | 欧美日韩国产精品一区二区三区 | 精品久久一区二区 | 国产系列在线观看 | 91久久国产综合精品女同国语 | 欧美中文字幕久久 | 91精品国产一区 | 国产一及片 | 中文字幕在线有码 | 亚洲精品国产精品99久久 | 色婷婷欧美 | 国产在线精品福利 | 天天色图| 日韩黄色大片在线观看 | 亚洲精品中文字幕在线 | 日韩专区在线观看 | 九九日九九操 | 成人午夜网 | 国产专区视频在线 | 一区二区欧美日韩 | 久草在线视频首页 | 亚洲狠狠丁香婷婷综合久久久 | 日韩在线视频免费看 | 日日夜夜精品免费 | 国产精品网在线观看 | 一区二区三区日韩在线观看 | 欧洲精品视频一区二区 | 色视频在线观看免费 | 狠狠狠狠狠狠狠干 | 狠狠久久综合 | 中文字幕在线观看的网站 | 麻豆精品视频在线观看免费 | 99久久精品免费看国产四区 | 美女免费视频网站 | 成人毛片一区二区三区 | 91夜夜夜| 国产短视频在线播放 | 中文字幕电影一区 | 日韩视频1区 | 在线观看黄a | 亚洲精品9 | japanesexxxhd奶水 91在线精品一区二区 | 国产一区二区在线免费观看 | 欧美性久久久久久 | 日本中文字幕网 | 欧美成年人在线观看 | 久草99| 在线蜜桃视频 | 国产精品久久久久影院日本 | 中文字幕 国产视频 | 婷婷色站| 伊人电影天堂 | 在线观看网站黄 | a'aaa级片在线观看 | 久久五月婷婷综合 | 激情av资源网 | 人人澡av| 成人毛片在线视频 | 日韩精品免费专区 | 国产成人久久精品一区二区三区 | 91九色蝌蚪视频网站 | 天天爱天天 | 狠狠操91| 中文字幕在线观看第二页 | 欧美成人aa | 四虎4hu永久免费 | 久久精品5 | 全黄网站 | 欧美一级大片在线观看 | 色五月色开心色婷婷色丁香 | 99久久夜色精品国产亚洲96 | 97超碰在线久草超碰在线观看 | 亚洲精品成人av在线 | 91久久国产综合精品女同国语 | 亚洲成人一区 | 在线中文字幕电影 | 国产午夜精品理论片在线 | 欧美日韩在线精品一区二区 | 午夜精品久久久久久久99婷婷 | 天天草天天草 | 国产一级二级在线观看 | av免费网站| 91.dizhi永久地址最新 | 久久精品久久精品久久 | 欧美午夜精品久久久久久浪潮 | 免费黄色在线网址 | .国产精品成人自产拍在线观看6 | 日韩欧美69 | 99精品免费 | 久久人人97超碰国产公开结果 | 一级久久精品 | 国产高清黄 | 91网站观看| 在线 国产 日韩 | 国产精品福利午夜在线观看 | 美女视频黄,久久 | 97人人爽人人 | 黄色一级片视频 | 国产婷婷在线观看 | 久操免费视频 | 日韩成人精品一区二区三区 | 高清国产午夜精品久久久久久 | 九九免费观看全部免费视频 | 国产精品一区二区在线看 | 草久视频在线观看 | 久久久精品国产一区二区电影四季 | 五月婷婷综合在线观看 | av黄色免费在线观看 | 天天色天天上天天操 | 国产美女被啪进深处喷白浆视频 | 国产免费亚洲高清 | 美女黄频在线观看 | 欧美色图30p | 精品久久久久久久久久国产 | 伊人婷婷网 | 日韩手机视频 | 日韩一级黄色av | 天天干天天操天天拍 | 97视频在线观看视频免费视频 | 最近中文字幕高清字幕免费mv | 国产在线精 | 日韩免费 | 91看片淫黄大片一级在线观看 | 日韩黄色中文字幕 | 久久草av| 月下香电影| 日韩久久精品一区 | 韩国一区视频 | 欧美精品免费一区二区 | 在线视频日韩精品 | 免费a网| 超碰人人做 | 在线91色 | 91视频高清| 激情电影影院 | 最近日本中文字幕 | 久久人人爽人人人人片 | 黄色三级网站在线观看 | 噜噜色官网 | 亚洲午夜久久久久久久久电影网 | 麻豆免费在线视频 | 亚洲最大成人免费网站 | 西西www4444大胆在线 | 久久久精品99| 中文字幕在线免费观看 | 在线天堂日本 | 在线 日韩 av | 在线观看亚洲免费视频 | 丝袜一区在线 | 日韩影视大全 | 免费亚洲黄色 | 天堂网中文在线 | 精品国产一区二区三区日日嗨 | 天天在线视频色 | 国产成人一区二区啪在线观看 | 91激情视频在线 | 毛片网在线 | 黄色成人毛片 | 99免费看片 | 在线v| 九九在线精品视频 | 亚洲日本va午夜在线影院 | 97成人在线免费视频 | 国产一区在线视频观看 | 国产日韩欧美视频 | 伊人官网 | 久久婷婷亚洲 | www.色午夜.com | 久久综合免费 | 精品视频在线视频 | 一级欧美一级日韩 | 久久99九九99精品 | 99久久综合狠狠综合久久 | 狠狠操狠狠操 | 亚洲国产精品成人精品 | 日韩免费视频线观看 | 最近2019年日本中文免费字幕 | 国产精品免费不 | 国产日韩欧美在线看 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 色婷丁香| 五月婷婷在线观看 | 婷婷丁香狠狠爱 | 日韩精品在线免费播放 | 在线观看亚洲 | 欧美另类xxxxx| 久久久久国产精品一区 | 五月激情姐姐 | 国产精品久久久久久久av大片 | 一级片观看 | 久久精视频 | 国产一级视频在线免费观看 | 中文字幕激情 | 国产亚洲精品免费 | 午夜视频欧美 | 色综合色综合色综合 | 亚洲影院天堂 | 国产精品99久久久久的智能播放 | 一区二区三区高清在线观看 | 97av在线视频免费播放 | 国产五月色婷婷六月丁香视频 | 久久艹在线| av电影不卡| 日本天天操 | 欧美日韩aa | 激情综合网在线观看 | 丁香免费视频 | 久久综合福利 | 成人一区二区三区在线观看 | 97在线观看免费高清完整版在线观看 | 正在播放 国产精品 | 欧美性生活小视频 | 91桃色视频 | 欧美一区二区三区特黄 | 美女在线观看av | www.天堂av| 亚洲成人免费在线 | 在线观看视频免费大全 | 亚州中文av | 日韩欧美在线播放 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 免费在线精品视频 | 天天干天天拍天天操 | 91经典在线 | 夜夜夜夜爽 | 久久久 激情 | 97免费在线观看视频 | 在线香蕉视频 | 国产99久久久久 | 久久精品国产一区 | 亚洲天天| 久久久网 | 国产又粗又猛又黄视频 | 国产午夜精品一区二区三区在线观看 | 精品色999| 三上悠亚一区二区在线观看 | 女女av在线| 色婷婷精品大在线视频 | 狠狠色噜噜狠狠狠狠2022 | 国内一区二区视频 | 国产一区二区三区免费在线 | 国产毛片久久 | 国产污视频在线观看 | 在线观看视频你懂得 | 久热超碰 | 天天插天天操天天干 | 欧美日韩久久不卡 | 久久久久久久国产精品影院 | 久久毛片高清国产 | 亚洲一区二区视频在线播放 | 成人av一二三区 | 国产视频一区在线免费观看 | 中国成人一区 | 97超碰在线资源 | 久久,天天综合 | 日本成人免费在线观看 | 91在线看视频免费 | 日本久久免费视频 | 亚洲年轻女教师毛茸茸 | 国产成人精品一二三区 | 亚洲 中文 欧美 日韩vr 在线 | 国产精品成久久久久三级 | 色www永久免费 | 国产91电影在线观看 | 色天堂在线视频 | 欧美激情视频一区 | 高清国产午夜精品久久久久久 | 亚洲成a人片在线www | 视频在线91 | 天天操综合网站 | 亚洲一区二区精品3399 | 国产日产高清dvd碟片 | 99精品在线视频播放 | 91视频a| 精品国产乱码久久久久久三级人 | 最近日韩免费视频 | 在线看黄色av| 国产明星视频三级a三级点| 91热在线 | 国产手机视频 | 韩国av一区二区三区在线观看 | 九九九在线观看视频 | 欧美一级专区免费大片 | av福利电影| 99超碰在线观看 | 亚洲年轻女教师毛茸茸 | 日韩精品一卡 | 蜜臀av.com| 丁香六月天 | 成人一区在线观看 | 黄色免费视频在线观看 | 337p日本欧洲亚洲大胆裸体艺术 | 97偷拍在线视频 | 黄色软件在线观看免费 | 特级毛片在线免费观看 | 日韩高清在线一区二区三区 | 亚洲精品乱码久久久久久蜜桃动漫 | 一级成人网 | 国产精品9999久久久久仙踪林 | 五月天激情开心 | 久久久久久久免费看 | 亚洲精品国产自产拍在线观看 | 久久久影视 | 国产一级免费播放 | 国产精品99久久久久的智能播放 | 久久综合色婷婷 | 国产精品毛片一区二区在线看 | 九九精品视频在线观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产91丝袜在线播放动漫 | 日韩激情网 | 成人精品一区二区三区电影免费 | 97操操操 | 欧美性性网 | av线上免费观看 | 国产精品久久久久免费观看 | 久久久国产精品成人免费 | 99视频在线精品国自产拍免费观看 | 免费网站在线观看人 | 中午字幕在线观看 | 国产在线看一区 | 狠狠操狠狠插 | 最新午夜电影 | 日韩理论在线 | 日本久久免费电影 | 99色亚洲| 色婷婷av一区二 | 久久国产精品二国产精品中国洋人 | 久久国产精品一二三区 | 免费看污污视频的网站 | 超碰av在线播放 | 日本中文字幕一二区观 | 久久免费av| 成年人免费电影 | 国产伦理剧 | 久久激情视频 久久 | 在线视频观看成人 | 日韩在线播放视频 | 天天天天天天天操 | 精品久久久久久久久久久久 | 91污在线 | 成人免费中文字幕 | 日韩激情小视频 | 天天射射天天 | 91精品国产九九九久久久亚洲 | 日日成人网| 免费日韩一区二区三区 | 最近2019好看的中文字幕免费 | www.五月天婷婷 | 午夜免费久久看 | 久久视频这里有久久精品视频11 | 免费视频久久久久 | 9ⅰ精品久久久久久久久中文字幕 | 最新国产精品久久精品 | 激情婷婷av | 国产高清av在线播放 | 国产成人久久精品一区二区三区 | 午夜私人影院 | 国产精品美女久久久久久久久 | 91综合色| 日本久热 | 在线观看中文字幕一区二区 | 欧美日韩视频网站 | 日韩欧美在线播放 |