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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Mybatis学习--Mapper.xml映射文件

發(fā)布時間:2024/4/17 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mybatis学习--Mapper.xml映射文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 簡介

  Mapper.xml映射文件中定義了操作數(shù)據(jù)庫的sql,每個sql是一個statement,映射文件是mybatis的核心。

  映射文件中有很多屬性,常用的就是parameterType(輸入類型)、resultType(輸出類型)、resultMap()、rparameterMap()。

  • parameterType(輸入類型)

  1、#{}與${}

  #{}實現(xiàn)的是向prepareStatement中的預(yù)處理語句中設(shè)置參數(shù)值,sql語句中#{}表示一個占位符即?

?

1 <!-- 根據(jù)id查詢用戶信息 --> 2 <select id="findUserById" parameterType="int" resultType="user"> 3 select * from user where id = #{id} 4 </select>

?

  使用占位符#{}可以有效防止sql注入,在使用時不需要關(guān)心參數(shù)值的類型,mybatis會自動進(jìn)行java類型和jdbc類型的轉(zhuǎn)換。#{}可以接收簡單類型值或pojo屬性值,如果parameterType傳輸單個簡單類型值,#{}括號中可以是value或其它名稱。

  ${}#{}不同,通過${}可以將parameterType?傳入的內(nèi)容拼接在sql中且不進(jìn)行jdbc類型轉(zhuǎn)換,?${}可以接收簡單類型值或pojo屬性值,如果parameterType傳輸單個簡單類型值,${}括號中只能是value。使用${}不能防止sql注入,但是有時用${}會非常方便,如下的例子:

  

1   <!-- 根據(jù)名稱模糊查詢用戶信息 --> 2 <select id="selectUserByName" parameterType="string" resultType="user"> 3 select * from user where username like '%${value}%' 4 </select>

?

  如果本例子使用#{}則傳入的字符串中必須有%號,而%是人為拼接在參數(shù)中,顯然有點麻煩,如果采用${}sql中拼接為%的方式則在調(diào)用mapper接口傳遞參數(shù)就方便很多。

  //如果使用占位符號則必須人為在傳參數(shù)中加%

?

  List<User>?list?=?userMapper.selectUserByName("%張三%");

  //如果使用${}原始符號則不用人為在參數(shù)中加%

?

  List<User>list?=?userMapper.selectUserByName("張三");

  再比如order?by排序,如果將列名通過參數(shù)傳入sql,根據(jù)傳的列名進(jìn)行排序,應(yīng)該寫為:

  ORDER?BY?${columnName},如果使用#{}將無法實現(xiàn)此功能。

  2、傳遞簡單類型

  傳遞簡單類型只需要注意#{}與${}的使用就可以。

  3、傳遞pojo對象

  Mybatis使用ognl表達(dá)式解析對象字段的值,如下例子:

?

1   <!—傳遞pojo對象綜合查詢用戶信息 --> 2 <select id="findUserByUser" parameterType="user" resultType="user"> 3 select * from user where id=#{id} and username like '%${username}%' 4 </select>

?

  測試代碼:

1 Public void testFindUserByUser()throws Exception{ 2 //獲取session 3 SqlSession session = sqlSessionFactory.openSession(); 4 //獲限mapper接口實例 5 UserMapper userMapper = session.getMapper(UserMapper.class); 6 //構(gòu)造查詢條件user對象 7 User user = new User(); 8 user.setId(1); 9 user.setUsername("管理員"); 10 //傳遞user對象查詢用戶列表 11 List<User>list = userMapper.findUserByUser(user); 12 //關(guān)閉session 13 session.close(); 14 }

  如果將username寫錯后,會報以下異常

1 org.apache.ibatis.exceptions.PersistenceException: 2 ### Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'dusername' in 'class com.luchao.mybatis.first.po.User' 3 ### Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'dusername' in 'class com.luchao.mybatis.first.po.User'

  可以看出MyBatis是通過反射來講java對象映射到查詢參數(shù)中的。

  4、傳遞pojo包裝對象

  開發(fā)中通過pojo傳遞查詢條件?,查詢條件是綜合的查詢條件,不僅包括用戶查詢條件還包括其它的查詢條件(比如將用戶購買商品信息也作為查詢條件),這時可以使用包裝對象傳遞輸入?yún)?shù)。

  (1)、定義包裝對象

  定義包裝對象將查詢條件(pojo)以類組合的方式包裝起來。

?

1 public class QueryVo { 2 private User user; 3 //自定義用戶擴(kuò)展類 4 private UserCustom custom; 5 public User getUser() { 6 return user; 7 } 8 public void setUser(User user) { 9 this.user = user; 10 } 11 public UserCustom getCustom() { 12 return custom; 13 } 14 public void setCustom(UserCustom custom) { 15 this.custom = custom; 16 } 17 }

?

  (2)、?mapper.xml映射文件

?

1 <select id="findUser" parameterType="com.luchao.mybatis.first.po.QueryVo" resultType="com.luchao.mybatis.first.po.User"> 2 select * from user where username like '%${user.username}%' and sex = #{user.sex} 3 </select>

?

  說明:mybatis底層通過ognlpojo中獲取屬性值:#{user.username}user即是傳入的包裝對象的屬性。

  5、傳遞hashmap

  Sql映射文件定義如下:

?

1 <select id="findUserByIdMap" parameterType="hashmap" resultType="com.luchao.mybatis.first.po.User"> 2 select * from user where id = #{id} 3 </select>

?

  測試代碼:

1 Public void testFindUserByHashmap()throws Exception{ 2 //獲取session 3 SqlSession session = sqlSessionFactory.openSession(); 4 //獲限mapper接口實例 5 UserMapper userMapper = session.getMapper(UserMapper.class); 6 //構(gòu)造查詢條件Hashmap對象 7 HashMap<String, Object> map = new HashMap<String, Object>(); 8 map.put("id", 1); 9 //傳遞Hashmap對象查詢用戶列表 10 List<User>list = userMapper.findUserByHashmap(map); 11 //關(guān)閉session 12 session.close(); 13 }

  傳遞的map中的keysql中解析的key不一致。測試結(jié)果沒有報錯,只是通過key獲取值為空。這種用法一般用在POJO與數(shù)據(jù)庫字段不一致的時候。

  • parameterMap和resultMap

  resultType可以指定pojo將查詢結(jié)果映射為pojo,但需要pojo的屬性名和sql查詢的列名一致方可映射成功。如果sql查詢字段名和pojo的屬性名不一致,可以通過resultMap將字段名和屬性名作一個對應(yīng)關(guān)系?,resultMap實質(zhì)上還需要將查詢結(jié)果映射到pojo對象中。resultMap可以實現(xiàn)將查詢結(jié)果映射為復(fù)雜類型的pojo,比如在查詢結(jié)果映射對象中包括pojolist實現(xiàn)一對一查詢和一對多查詢。

?

  下面是在數(shù)據(jù)庫列于POJO不一致的時候,將輸入?yún)?shù)映射到數(shù)據(jù)庫列的一種方式 

1 <resultMap type="Book.dao.Book" id="BookResultMap"> 2 <id column="id" property="id"/> 3 <result column="name" property="bookName"/> 4 <result column="price" property="bookPrice"/> 5 </resultMap> 6 7 <!-- resultMap:resultMap的id ,bookName:resultMap的property,即實體類中的屬性 --> 8 <parameterMap type="Book.dao.Book" id="BookParameterMap"> 9 <parameter property="bookName" resultMap="BookResultMap" /> 10 <parameter property="bookPrice" resultMap="BookResultMap" /> 11 </parameterMap> 12 <!-- 保存一個Book --> 13 <insert id="saveBook" parameterMap="BookParameterMap"> 14 insert into BOOK_MANAGE 15 (ID,NAME,PRICE) 16 values 17 (Bookmanage_Seq.Nextval,#{bookName},#{bookPrice}) 18 </insert> 19 20 <!-- 根據(jù)ID修改Book --> 21 <update id="updatePersnById" parameterMap="BookParameterMap"> 22 update BOOK_MANAGE 23 set 24 NAME=#{bookName}, 25 PRICE=#{bookPrice} 26 WHERE id=#{id} 27 </update>

?

  當(dāng)查詢的結(jié)果與POJO名字不一致的時候,用resultMap來實現(xiàn)映射。

1 <resultMap type="user" id="userMap"> 2 <id column="id_" property="id" /> 3 <result column="username_" property="username" /> 4 </resultMap> 5 <select id="findUserMapById" parameterType="java.lang.Integer" resultMap="userMap" > 6 select id id_,username username_ from user where id = #{id} 7 </select>

  <id?/>:此屬性表示查詢結(jié)果集的唯一標(biāo)識,非常重要。如果是多個字段為復(fù)合唯一約束則定義多個<id?/>

  Property:表示person類的屬性。

  Column:表示sql查詢出來的字段名。

  Columnproperty放在一塊兒表示將sql查詢出來的字段映射到指定的pojo類屬性上。

?  ?<result?/>:普通結(jié)果,即pojo的屬性。

?

  使用resultType進(jìn)行輸出映射,只有查詢出來的列名和pojo中的屬性名一致,該列才可以映射成功。如果查詢出來的列名和pojo的屬性名不一致,通過定義一個resultMap對列名和pojo屬性名之間作一個映射關(guān)系。

  • resultType(輸出類型)

  1、輸出簡單類型

  映射文件:

?

1 <select id="findUserCount" parameterType="user" resultType="int"> 2 select count(1) from user 3 </select>

?

  輸出簡單類型必須查詢出來的結(jié)果集有一條記錄,最終將第一個字段的值轉(zhuǎn)換為輸出類型。使用sessionselectOne可查詢單條記錄。

  2、輸出pojo對象

  映射文件

?

1 <!-- 根據(jù)id查詢用戶信息 --> 2 <select id="findUserById" parameterType="int" resultType="user"> 3 select * from user where id = #{id} 4 </select>

?

  3、輸出pojo列表

  映射文件:

?

1 <!-- 根據(jù)名稱模糊查詢用戶信息 --> 2 <select id="findUserByUsername" parameterType="string" resultType="user"> 3 select * from user where username like '%${value}%' 4 </select>

?

  注意:MyBatis會根據(jù)Mapper接口方法的返回類型來選擇調(diào)用selectOne還是selectList方法,如果是List這調(diào)用selectList方法,如果是POJO則調(diào)用selectOne方法。

  4、輸出hashmap

?

  輸出pojo對象可以改用hashmap輸出類型,將輸出的字段名稱作為mapkeyvalue為字段值。

  resultType總結(jié):

?

  輸出pojo對象和輸出pojo列表在sql中定義的resultType是一樣的。返回單個pojo對象要保證sql查詢出來的結(jié)果集為單條,內(nèi)部使用session.selectOne方法調(diào)用,mapper接口使用pojo對象作為方法返回值。返回pojo列表表示查詢出來的結(jié)果集可能為多條,內(nèi)部使用session.selectList方法,mapper接口使用List<pojo>對象作為方法返回值。

  • 動態(tài)SQl

?

  mybatis核心?對sql語句進(jìn)行靈活操作,通過表達(dá)式進(jìn)行判斷,對sql進(jìn)行靈活拼接、組裝。對查詢條件進(jìn)行判斷,如果輸入?yún)?shù)不為空才進(jìn)行查詢條件拼接。

  1、if

1 <!-- 傳遞pojo綜合查詢用戶信息 --> 2 <select id="findUserList" parameterType="user" resultType="user"> 3 select * from user 4 where 1=1 5 <if test="id!=null and id!=''"> 6 and id=#{id} 7 </if> 8 <if test="username!=null and username!=''"> 9 and username like '%${username}%' 10 </if> 11 </select>

  2、Where

  上面的配置也可以按如下來寫:

1 <select id="findUserList" parameterType="user" resultType="user"> 2 select * from user 3 <where> 4 <if test="id!=null and id!=''"> 5 and id=#{id} 6 </if> 7 <if test="username!=null and username!=''"> 8 and username like '%${username}%' 9 </if> 10 </where> 11 </select>

  <where?/>可以自動處理第一個and

  3、foreach

  sql傳遞數(shù)組或Listmybatis使用foreach解析,如下:

  如果我們需要傳入多個ID來查詢多個用戶的信息,這也就可以使用foreach。我們先考慮下如果只寫sql語句是如下:

?

1 SELECT * FROM USERS WHERE username LIKE '%張%' AND (id =10 OR id =89 OR id=16) 2 SELECT * FROM USERS WHERE username LIKE '%張%' id IN (10,89,16)

?

  index:為數(shù)組的下標(biāo)。

  item:為數(shù)組每個元素的名稱,名稱隨意定義

  open:循環(huán)開始

  close:循環(huán)結(jié)束

  separator:中間分隔輸出

  通過POJO傳入List,映射文件如下:

1 <if test="ids!=null and ids.size>0"> 2 <foreach collection="ids" open=" and id in(" close=")" item="id" separator="," > 3 #{id} 4 </foreach> 5 </if>

  或者:

1 <if test="ids!=null and ids.size>0"> 2 <foreach collection="ids" open=" and (" close=")" item="id" separator="," > 3 id = #{id} 4 </foreach> 5 </if>

?  傳遞單個List

  傳遞List類型在編寫mapper.xml沒有區(qū)別,唯一不同的是只有一個List參數(shù)時它的參數(shù)名為list

  配置文件如下:

?

<select id="selectUserByList" parameterType="java.util.List" resultType="user">select * from user <where><!-- 傳遞List,List中是pojo --><if test="list!=null"><foreach collection="list" item="item" open="and id in("separator=","close=")">#{item.id} </foreach></if></where> </select>

?

  傳遞單個數(shù)組(數(shù)組中是POJO)

<!-- 傳遞數(shù)組綜合查詢用戶信息 --><select id="selectUserByArray" parameterType="Object[]" resultType="user">select * from user <where><!-- 傳遞數(shù)組 --><if test="array!=null"><foreach collection="array" index="index" item="item" open="and id in("separator=","close=")">#{item.id} </foreach></if></where> </select>

  sql只接收一個數(shù)組參數(shù),這時sql解析參數(shù)的名稱mybatis固定為array,如果數(shù)組是通過一個pojo傳遞到sql則參數(shù)的名稱為pojo中的屬性名。

  傳遞單個數(shù)組(數(shù)組中是簡單類型)

  配置文件如下:

1 <!-- 傳遞數(shù)組綜合查詢用戶信息 --> 2 <select id="selectUserByArray" parameterType="Object[]" resultType="user"> 3 select * from user 4 <where> 5 <!-- 傳遞數(shù)組 --> 6 <if test="array!=null"> 7 <foreach collection="array"index="index"item="item"open="and id in("separator=","close=")"> 8 #{item} 9 </foreach> 10 </if> 11 </where> 12 </select>

  如果數(shù)組中是簡單類型則寫為#{item},不用再通過ognl獲取對象屬性值了。

?

? ? Sql片段

  Sql中可將重復(fù)的sql提取出來,使用時用include引用即可,最終達(dá)到sql重用的目的,如下:

  映射文件如下:

?

1 <!-- 傳遞pojo綜合查詢用戶信息 --> 2 <select id="findUserList" parameterType="user" resultType="user"> 3 select * from user 4 <where> 5 <if test="id!=null and id!=''"> 6 and id=#{id} 7 </if> 8 <if test="username!=null and username!=''"> 9 and username like '%${username}%' 10 </if> 11 </where> 12 </select>

?

  如果有多個statement都使用相同的查詢條件,那么就可以把查詢條件抽取出來作為單獨的Sql片段。

  Sql片段配置:

1 <sql id="query_user_where"> 2 <if test="id!=null and id!=''"> 3 and id=#{id} 4 </if> 5 <if test="username!=null and username!=''"> 6 and username like '%${username}%' 7 </if> 8 </sql>

  使用include引用:

?

1 <select id="findUserList" parameterType="user" resultType="user"> 2 select * from user 3 <where> 4 <include refid="query_user_where"/> 5 </where> 6 </select>

?

  注意:如果引用其它mapper.xmlsql片段,則在引用時需要加上namespace,如下:<include?refid="namespace.sql片段”/>

  Mapper配置文件中常用的基本屬性就是這些,如果還有其他的特殊需求可以根據(jù)需要來進(jìn)行修改配置。另外,在我們的設(shè)計中,如果已經(jīng)定義好了基本的POJO在引用的時候可以在定義一個視圖查詢層的POJO在其中封裝基本的POJO和自定義的POJO(繼承基本的POJO),這樣就可以較容易實現(xiàn)擴(kuò)展。當(dāng)數(shù)據(jù)庫需求有變化的時候可以不修改基本POJO,而修改自定義的POJO,這樣就可以實現(xiàn)較好的擴(kuò)展,而不影響其他模塊。如果前端需求有變動,可以通過修改前端的POJO來實現(xiàn)較小的改動。如下實現(xiàn):

  基本的POJO類型:

1 public class User { 2 private int id; 3 private String username;// 用戶姓名 4 private String sex;// 性別 5 private Date birthday;// 生日 6 private String address;// 地址 7 public int getId() { 8 return id; 9 } 10 public void setId(int id) { 11 this.id = id; 12 } 13 public String getUsername() { 14 return username; 15 } 16 public void setUsername(String username) { 17 this.username = username; 18 } 19 public String getSex() { 20 return sex; 21 } 22 public void setSex(String sex) { 23 this.sex = sex; 24 } 25 public Date getBirthday() { 26 return birthday; 27 } 28 public void setBirthday(Date birthday) { 29 this.birthday = birthday; 30 } 31 public String getAddress() { 32 return address; 33 } 34 public void setAddress(String address) { 35 this.address = address; 36 } 37 @Override 38 public String toString() { 39 // TODO Auto-generated method stub 40 return this.id+"-"+this.username+"-"+this.sex+"-"+this.address+"-"+this.birthday.toString(); 41 } 42 43 }

  自定義的POJO繼承基本的POJO:

1 public class UserCustom extends User{ 2 3 }

  如果我們的數(shù)據(jù)庫有變動,我們可以在UserCustom添加屬性,只滿足當(dāng)前修改。

  前端POJO實現(xiàn):

1 public class QueryVo { 2 private User user; 3 //自定義用戶擴(kuò)展類 4 private UserCustom custom; 5 public User getUser() { 6 return user; 7 } 8 public void setUser(User user) { 9 this.user = user; 10 } 11 public UserCustom getCustom() { 12 return custom; 13 } 14 public void setCustom(UserCustom custom) { 15 this.custom = custom; 16 } 17 }

  可以滿足基本的需求,如果我們在查詢中需要加入其他查詢條件,如:商品、訂單等,只需要修改QueryVo,這樣就可以實現(xiàn)較好的可擴(kuò)展性。?

?

總結(jié)

以上是生活随笔為你收集整理的Mybatis学习--Mapper.xml映射文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

免费在线观看日韩欧美 | 9在线观看免费高清完整版在线观看明 | 国产黄色片免费 | 99r在线观看 | 中文字幕一区二区三区久久 | 亚洲h视频在线 | 国产成人免费av电影 | 久久免费视频精品 | 中文字幕在线观看av | 中文字幕在线视频第一页 | 精品久久久久久久久久 | 欧美精品乱码久久久久 | 97视频免费观看 | 婷婷丁香久久五月婷婷 | 亚洲色图 校园春色 | 国产精品久久久久久吹潮天美传媒 | www.激情五月.com| 国产高清在线免费 | 免费黄色看片 | 国产午夜精品一区二区三区嫩草 | 99久久这里有精品 | 国产91精品久久久久 | 激情喷水 | 亚洲一区久久 | 99精品国产福利在线观看免费 | 欧美精品一区二区三区一线天视频 | 一级黄色在线视频 | 在线观看mv的中文字幕网站 | 日韩视频1 | 97碰碰视频 | 久久久久久福利 | 成人丝袜| 国产永久网站 | 天天激情 | 久久99久久99免费视频 | 亚洲国产999 | 亚洲毛片在线观看. | 午夜黄色 | 黄色三级av | 97人人模人人爽人人喊中文字 | 热re99久久精品国产66热 | 人人爱爱人人 | 深夜免费小视频 | 蜜臀久久99精品久久久无需会员 | 99视频这里有精品 | 久久免费视频2 | 成人a在线观看高清电影 | 亚洲成人精品在线 | 久久久国产精品网站 | 久久久久麻豆 | 久久人人97超碰国产公开结果 | 国产拍揄自揄精品视频麻豆 | 国产精品v欧美精品v日韩 | www九九热 | 国产一级h| 最新av免费在线观看 | 亚洲精品在线资源 | 亚洲精品综合欧美二区变态 | 日韩国产精品久久久久久亚洲 | 国产免费久久av | 国产视频网站在线观看 | 亚洲 综合 激情 | 免费黄色网址大全 | 正在播放五月婷婷狠狠干 | 最近最新中文字幕视频 | 国产精品久久电影观看 | 色视频网站在线观看一=区 a视频免费在线观看 | 中文字幕色婷婷在线视频 | 欧美日韩国产在线精品 | 男女拍拍免费视频 | 久久99国产精品视频 | 精品欧美小视频在线观看 | 精品福利视频在线 | 国产视频在线一区二区 | 色精品视频 | 成年人免费观看国产 | 99精品在线免费观看 | 日韩在线电影一区二区 | 亚洲网久久 | 久久夜色精品国产欧美乱 | 精品福利视频在线 | 丁香网五月天 | 最新国产中文字幕 | 日韩专区视频 | 国产精品嫩草影院9 | 黄色av免费看 | 中国一 片免费观看 | 天天射夜夜爽 | 欧美日韩午夜爽爽 | 国产精品久久久久久超碰 | 1区2区视频 | 久久999精品 | 天天草视频 | 婷婷婷国产在线视频 | 久久国产精品一区二区三区 | 久热精品国产 | 国产成人精品网站 | 成人啪啪18免费游戏链接 | 欧洲精品亚洲精品 | 日韩视频一区二区在线观看 | 综合网欧美 | 香蕉一区 | 亚洲精品影院在线观看 | 久久成人免费 | 精品婷婷| 网站在线观看日韩 | 欧美日韩亚洲国产一区 | www.神马久久 | 久久免费视频这里只有精品 | 美女黄久久| 深爱激情五月婷婷 | 成人免费在线观看电影 | 在线播放日韩av | 亚洲精品久久久蜜桃直播 | 一区二区三区三区在线 | 99理论片 | 久久高清精品 | www在线观看国产 | 精品亚洲成人 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 97自拍超碰 | 丁香九月激情 | 999成人精品| 中文字幕欲求不满 | 国产精品一区二区在线免费观看 | 精品国产1区2区3区 国产欧美精品在线观看 | 欧美性视频网站 | 97成人在线免费视频 | 国产精品麻豆视频 | 伊人久久国产精品 | 亚洲综合爱| 久久国际影院 | 色片网站在线观看 | 中文字幕一区二区三区乱码不卡 | 日本一区二区高清不卡 | 国产日韩欧美视频在线观看 | 日韩在线免费不卡 | 91精品区 | 国产传媒一区在线 | 日韩在线不卡av | 肉色欧美久久久久久久免费看 | 日韩精品一区二区三区免费观看 | 最近免费在线观看 | 日日夜夜狠狠 | 天天夜夜亚洲 | 在线观看一区视频 | 欧美午夜激情网 | 天天操网址 | japanesexxxhd奶水 国产一区二区在线免费观看 | 美女网站在线看 | 色综合久久天天 | 免费试看一区 | 日本精品中文字幕 | 亚洲高清视频在线 | 久草网视频 | 久久精品视频在线 | 欧洲亚洲女同hd | 天天天天天天操 | 亚洲日本成人网 | 国产资源站 | 色网av | 在线超碰av | 国产黄色片网站 | 成人午夜黄色影院 | 亚洲情婷婷 | 亚洲一级免费电影 | 狠狠躁18三区二区一区ai明星 | 久久免费的精品国产v∧ | 精品久久精品久久 | 欧美精品v国产精品v日韩精品 | 国产视频一区在线 | 国产成人区 | 日本三级久久 | 欧美一级片在线免费观看 | 色九九在线 | 国产999视频 | 最新日韩在线观看视频 | 欧美男男tv网站 | av中文字幕av| 黄色小说在线免费观看 | 久久爱992xxoo| 中文字幕乱码亚洲精品一区 | 亚洲精品视频在线播放 | 在线亚洲欧美视频 | 日本黄色免费网站 | 久久久久五月 | 99久久er热在这里只有精品15 | 一本到在线 | 国内精品视频在线播放 | 免费成人av在线看 | 中文字幕一区二区三 | 亚洲精品国产精品99久久 | 精品国产诱惑 | 成 人 黄 色 视频免费播放 | 欧美另类xxx | 免费观看完整版无人区 | 中文av在线免费观看 | 深爱婷婷| 亚洲成av人片 | 久久久久久久18 | 久久不见久久见免费影院 | 午夜美女福利直播 | 五月开心网 | 婷婷5月激情5月 | 国产精品成人一区二区三区 | 天天色天天草天天射 | 欧美精品免费在线观看 | 午夜视频黄 | www蜜桃视频 | 超碰97公开 | 久草在线视频首页 | 精品国产精品久久一区免费式 | 国产精品毛片久久蜜 | 99国产视频在线 | 日韩av一区二区三区在线观看 | 亚洲欧美精品在线 | 天天操网站 | 免费看成年人 | 国产91勾搭技师精品 | 日韩精品资源 | 亚洲色影爱久久精品 | 欧美成人精品xxx | 中午字幕在线 | 亚州国产精品 | 91精品啪在线观看国产 | 人人艹人人 | 亚a在线 | 国产亚洲精品久久久久久久久久 | 精品久久久久久亚洲综合网 | 中文字幕2021 | 五月婷婷中文字幕 | 久在线 | 久草视频在线资源站 | 99久久精品视频免费 | 国产视频一区二区在线观看 | www.久久久精品 | 韩国av在线 | 国产在线观看不卡 | 91探花在线 | 国产色拍拍拍拍在线精品 | 久久国产精品免费视频 | 狠狠狠干狠狠 | 3d黄动漫免费看 | 日韩视频一区二区 | 一色屋精品视频在线观看 | 国产超碰在线 | 黄色大全免费观看 | 欧美亚洲一级片 | 成x99人av在线www| 91免费在线看片 | 日韩精品一区二区免费视频 | 成人久久久精品国产乱码一区二区 | 国产91亚洲| 亚洲日韩精品欧美一区二区 | 日韩免费av在线 | 欧美日韩中文字幕综合视频 | 久久精品美女视频网站 | 国产99久久久久 | 开心综合网 | 亚洲精品国产第一综合99久久 | 国产对白av| 网站免费黄 | 久久免费精品一区二区三区 | 人人射网站 | 五月婷婷中文字幕 | 亚洲天堂免费视频 | 欧美日韩国产精品久久 | 亚洲无吗av| 天堂va在线观看 | 欧美在线观看视频一区二区三区 | 国产精品视频免费观看 | www.夜夜骑.com| 911精品美国片911久久久 | 干天天 | 黄色毛片视频免费观看中文 | 精品久久精品 | 在线观看国产成人av片 | 一级免费黄视频 | 欧美一区二视频在线免费观看 | 91久久久国产精品 | 久99久视频| 在线色吧 | 亚洲理论电影网 | 欧美大片在线观看一区 | 国产黑丝袜在线 | 中文字幕亚洲字幕 | 天天操夜夜做 | 欧美日韩国产三级 | 最新国产精品视频 | 国产精品久久久久久久久久久免费 | 成人免费毛片aaaaaa片 | 人人干免费 | 久久久99久久| 日日干视频 | av在线官网 | 久久精品一区二区三区中文字幕 | 色多多在线观看 | 日韩av区 | 在线视频你懂得 | 中文字幕在线看视频国产 | 欧美性护士 | 人人爽人人爽人人爽人人爽 | 婷婷精品进入 | 久久精品99国产精品日本 | 欧美三级免费 | 久久 国产一区 | 成人久久久久久久久久 | 日日爱夜夜爱 | 99久久er热在这里只有精品15 | 亚洲精品久久在线 | 97超碰香蕉 | 国产亚洲精品女人久久久久久 | 伊人久久五月天 | 成人性生交大片免费观看网站 | 97视频网址 | 成人精品国产 | 99色亚洲| 中字幕视频在线永久在线观看免费 | 欧美日韩p片 | 久久精久久精 | 三级a视频| av免费在线网站 | 免费黄色在线网址 | 午夜成人免费影院 | 91豆麻精品91久久久久久 | 国产黄色网 | 国产精品视频不卡 | 中文字幕一二三区 | 在线免费看黄色 | 精品婷婷| 性色av一区二区 | 17videosex性欧美 | 日韩在线视频播放 | 手机色站 | 日韩3区 | www黄在线 | 毛片视频网址 | 国产精品免费久久久久影院仙踪林 | 欧美俄罗斯性视频 | 亚洲美女视频在线观看 | 欧美日韩天堂 | 国产色视频网站2 | 国产精品久免费的黄网站 | 一级黄色网址 | 国产精品中文字幕在线观看 | 久草青青在线观看 | 日韩欧美一区二区三区视频 | 青草视频在线免费 | 丁香婷婷社区 | 日本在线精品视频 | 97视频在线 | 亚洲美女视频在线观看 | 伊人永久 | 国产美女在线精品免费观看 | 国产xx在线 | 九九九九色 | 日韩av免费观看网站 | 中文字幕资源网 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 97国产精品 | 综合网成人 | 国产成人三级一区二区在线观看一 | 国产va在线 | 天天干视频在线 | 国产粉嫩在线观看 | 精品成人a区在线观看 | 98超碰在线观看 | 亚洲国产精彩中文乱码av | 亚洲波多野结衣 | 成年人黄色在线观看 | 九九九九九精品 | 天天天在线综合网 | 久九视频| 特级西西444www大胆高清无视频 | 国产成人精品亚洲日本在线观看 | 亚洲成人精品在线观看 | 久久久久久久久久久免费视频 | 91天堂影院 | 国产乱对白刺激视频不卡 | 成人禁用看黄a在线 | 国产精品久久久久av免费 | 精品国产电影一区 | 久久综合一本 | 亚洲精品美女久久久久网站 | 日韩精品91偷拍在线观看 | 精品久久久久免费极品大片 | 麻豆影视在线观看 | 99视频国产精品 | 97视频在线免费观看 | 日日夜夜精品免费视频 | 免费看的av片 | 四虎国产精品成人免费4hu | 日韩欧美视频一区 | 日韩在线小视频 | 91视频久久久久 | 九九热免费视频在线观看 | 日韩黄色软件 | av手机版 | 高清色免费 | 免费特级黄色片 | 亚洲成人中文在线 | 色婷婷综合在线 | 欧美另类sm图片 | 成人午夜精品福利免费 | 在线看国产一区 | 天天狠狠| 国产精品色在线 | 午夜成人免费电影 | 久久精品96 | 欧美精品一区在线 | 99久久99久久精品国产片果冰 | 久草新在线 | 久久精品高清视频 | www.伊人网 | 欧美日韩性 | 久久久免费观看完整版 | 国产精选在线观看 | 欧美一级小视频 | 五月的婷婷 | 日本最大色倩网站www | 97超碰超碰久久福利超碰 | 国产99色 | 久久久久久久久久影视 | 国产精品9999 | 亚洲精品乱码久久久久久按摩 | 一色屋精品视频在线观看 | 久久久久成人精品免费播放动漫 | 激情婷婷综合网 | www.伊人网| 五月天亚洲综合 | 国产精品麻豆一区二区三区 | 成人亚洲免费 | 日韩av一区二区在线 | 亚洲黑丝少妇 | 九九视频免费在线观看 | 午夜av一区 | 欧美极品xxxxx | 久久99热精品这里久久精品 | 久久国产视频网站 | 中文字幕免费看 | 日本中文字幕在线播放 | 亚洲国产精品500在线观看 | av 一区二区三区 | 草久在线观看 | 99精品偷拍视频一区二区三区 | 免费看一级 | 五月婷婷导航 | 国产最新视频在线 | 天堂在线一区 | 欧美孕妇与黑人孕交 | 黄色www在线观看 | 国产98色在线 | 日韩 | 国产午夜精品理论片在线 | 九九99视频 | 九九热中文字幕 | 九九精品在线观看 | 超碰在线免费97 | 人成免费网站 | 久草在线高清 | 久久激情网站 | 在线观看韩国av | 成人黄色片在线播放 | 国产区精品视频 | 在线成人性视频 | 精品国产123 | 中文字幕乱偷在线 | 免费观看av网站 | 天天综合网天天综合色 | 久久人人爽爽人人爽人人片av | 91九色在线视频观看 | 天天做日日爱夜夜爽 | 综合久久久久久久 | 国产免费xvideos视频入口 | 免费的黄色av | 66av99精品福利视频在线 | 成人av网址大全 | 久草视频视频在线播放 | 18国产精品白浆在线观看免费 | 国产成人高清av | 91原创在线观看 | 欧美二区三区91 | 中文字幕 婷婷 | 久久不射影院 | 久久国产精品精品国产色婷婷 | 免费十分钟| 免费a级毛片在线看 | 欧美日韩18 | 狠狠干夜夜操天天爽 | 国产精品人成电影在线观看 | 国产资源网 | 久久综合免费视频 | 色综合久久精品 | 久久五月天综合 | 国产精品99久久99久久久二8 | 在线免费高清一区二区三区 | av电影免费 | 久久免费精品国产 | 国产91精品欧美 | 狠狠狠色丁香综合久久天下网 | 国产美女精品视频 | 欧美亚洲国产日韩 | 国产美女黄网站免费 | 99资源网 | 91夫妻视频 | 久久久一本精品99久久精品66 | av成人在线电影 | 日韩资源视频 | 欧美精品乱码久久久久久按摩 | 日本久久久久久科技有限公司 | 91 中文字幕| 亚洲精品www久久久久久 | 区一区二区三区中文字幕 | 在线日韩亚洲 | 96超碰在线| 亚洲精品理论片 | 国产午夜一区二区 | 91精品国产自产在线观看永久 | 999久久国产精品免费观看网站 | 国产中文视频 | 狠狠干夜夜操天天爽 | 波多野结衣日韩 | 高清精品在线 | 又黄又网站 | 中文字幕高清免费日韩视频在线 | 国产成人精品999在线观看 | 99视频精品全部免费 在线 | 国产精品影音先锋 | 国产精品毛片完整版 | 欧美性另类 | 99热精品国产一区二区在线观看 | 亚洲高清在线观看视频 | 91c网站色版视频 | 精品一区二区在线免费观看 | 视频福利在线观看 | 免费看污在线观看 | 97色在线观看免费视频 | 在线免费观看视频a | 在线观看中文字幕 | 日日碰狠狠添天天爽超碰97久久 | 欧美日韩在线播放 | 免费观看黄| 在线观看亚洲专区 | 五月婷婷中文 | 蜜桃久久久 | 99九九热只有国产精品 | 国产成人av片 | 久久久久国产免费免费 | 国产在线中文 | 色综合天天射 | av成人免费网站 | 成人黄色电影免费观看 | 超级碰碰碰免费视频 | 久久精品这里热有精品 | 亚洲国产av精品毛片鲁大师 | 婷婷久久久 | 欧美精品中文在线免费观看 | 国产精品综合av一区二区国产馆 | 天天操天天舔天天干 | 色综合天天狠狠 | 久久久网| 成人影视免费 | 国产成人精品亚洲精品 | 日日夜夜天天综合 | 天堂网av在线 | 国产黄色一级大片 | 久草网站在线观看 | 操少妇视频 | 久久免费电影网 | 99在线精品免费视频九九视 | 亚洲精品美女 | 五月天亚洲激情 | 亚洲码国产日韩欧美高潮在线播放 | 日韩a级黄色 | 国产永久免费 | 亚洲激情视频在线观看 | 国产精品久久久久久久久久久久午夜 | 久久久久久久久久久久电影 | 91亚洲精品久久久久图片蜜桃 | 色姑娘综合网 | 国产专区一 | 男女全黄一级一级高潮免费看 | 国产婷婷一区二区 | 成人免费观看在线视频 | 日韩黄色影院 | 成片人卡1卡2卡3手机免费看 | 日韩丝袜 | 国产精品av在线 | 国产一区二区精品 | 日韩av成人在线观看 | 五月婷婷电影网 | 少妇自拍av | 中文字幕电影网 | 日本精品在线 | 国产在线观看二区 | 亚洲精品动漫在线 | 国产成人黄色av | 精品国产一区二区三区四区vr | 国际精品久久久 | 亚洲精品一区二区在线观看 | 有没有在线观看av | 免费看色的网站 | 又紧又大又爽精品一区二区 | 黄色国产高清 | 人人爽人人干 | 麻豆传媒在线免费看 | 欧美午夜寂寞影院 | 精品一区欧美 | 久久免费视频精品 | 亚洲色视频 | 久久久99精品免费观看乱色 | 99免费精品视频 | 最近免费中文字幕mv在线视频3 | 欧美另类tv | 久久久亚洲麻豆日韩精品一区三区 | 69绿帽绿奴3pvideos | 最近中文字幕大全 | 欧美国产日韩一区二区三区 | 亚洲电影第一页av | 亚洲一区免费在线 | 欧美男同网站 | 久久免费国产电影 | 日日麻批40分钟视频免费观看 | 久久久精品在线观看 | 特黄免费av | 色天天中文 | 国产69精品久久app免费版 | 欧美成天堂网地址 | 成人一级在线 | 国精产品999国精产 久久久久 | 欧美日韩一级视频 | 亚洲精品中文字幕视频 | 欧美国产精品一区二区 | 美女视频黄频 | 激情婷婷在线观看 | 日本韩国中文字幕 | 国产一级做a爱片久久毛片a | 99久久日韩精品视频免费在线观看 | 亚洲精品网站在线 | 免费高清在线观看成人 | av免费在线免费观看 | 成年人视频在线免费 | 亚洲婷婷网 | 久久99久国产精品黄毛片入口 | 国产精品小视频网站 | 国内久久久久久 | 午夜丁香视频在线观看 | 天天干天天怕 | 97视频在线观看视频免费视频 | 99久久精品无码一区二区毛片 | 国产va在线 | 久草在线精品观看 | 国产中文字幕一区二区三区 | 亚洲一区欧美激情 | 久久99在线观看 | 久久精品国产成人 | 日日夜夜精品免费观看 | 久久黄色免费视频 | 中文字幕.av.在线 | 国产成人精品久久二区二区 | 在线免费看黄色 | 97国产小视频 | 日本精油按摩3 | 国产成人亚洲在线观看 | 久视频在线播放 | 免费成人av网站 | 欧美一级电影免费观看 | 丁香影院在线 | 麻豆精品视频 | www国产亚洲 | 91看毛片 | 国产99精品 | 日本公妇在线观看 | 久久国产高清视频 | 国产探花在线看 | 91漂亮少妇露脸在线播放 | 中文字幕在线视频一区 | 久久 精品一区 | 亚洲精品字幕在线观看 | 麻豆国产精品视频 | 亚洲最新av在线网站 | 久久综合福利 | 国产亚洲精品久久久久久久久久 | 天天干天天操av | 最近2019好看的中文字幕免费 | 一级片免费观看 | 久久伊人爱 | 91久久偷偷做嫩草影院 | 成人av免费播放 | 最新av网址大全 | 久久午夜色播影院免费高清 | 亚洲网站在线 | 日韩欧美国产精品 | 国产白浆视频 | 中文字幕一区2区3区 | 深夜免费福利视频 | 久久九九精品 | 色成人亚洲网 | 午夜精品久久久久久久99热影院 | 亚洲小视频在线 | 久草网站| 国产免费人成xvideos视频 | 国内精品美女在线观看 | 婷婷色婷婷| 黄色录像av | 伊人婷婷| 国产精品久久99精品毛片三a | 粉嫩av一区二区三区四区在线观看 | 四虎亚洲精品 | 中文字幕在线影视资源 | 久久夜色精品国产欧美乱 | 日韩免费电影网站 | 天堂av高清 | 日日精品 | 精品影院一区二区久久久 | 国产精品精品久久久久久 | 亚洲国产中文字幕在线 | 欧美片网站yy | 91亚洲精品久久久中文字幕 | 免费亚洲电影 | 日韩毛片久久久 | 亚洲男男gaygay无套 | 天堂资源在线观看视频 | 日本在线视频一区二区三区 | 久久爱资源网 | 国产成人精品久久 | 美女视频黄是免费的 | 国内揄拍国内精品 | 亚州av网站 | 综合精品在线 | 国产亚洲成人网 | 日韩电影中文字幕在线 | 国产亚洲视频在线免费观看 | www国产亚洲精品久久麻豆 | 人人草在线视频 | 国产传媒一区在线 | av免费电影在线观看 | 亚洲精品字幕在线 | 最近2019中文免费高清视频观看www99 | 免费成人黄色片 | 日本中文字幕在线免费观看 | 色婷婷综合久久久久中文字幕1 | 99精品一区二区 | 99999精品视频| 色综合婷婷久久 | 香蕉日日 | 久久精品欧美一 | 国产精品你懂的在线观看 | 亚洲成人av在线 | 天堂av免费 | 精品国产一区二区三区久久 | 国内精品久久久精品电影院 | www日 | 欧美一级日韩免费不卡 | 夜夜干天天操 | 色91在线视频| 在线电影 一区 | 丁香婷婷基地 | 免费观看版| 91视频在线网址 | 日韩精品电影在线播放 | 五月婷婷六月丁香 | 6080yy午夜一二三区久久 | 日韩美av在线 | 欧美日韩一区二区久久 | 99国产一区 | 欧美巨乳波霸 | 国产一区黄色 | 国产一区二区三区黄 | 久草久热 | 久久理论电影 | 人人插人人搞 | 2021av在线 | 99久久精品视频免费 | av在线电影网站 | 大荫蒂欧美视频另类xxxx | 97网在线观看| 国产精品嫩草在线 | 国产一区二区三区高清播放 | 久草在线最新免费 | 黄色片网站免费 | 绯色av一区| 国产精品一区二区三区免费视频 | 欧美性黑人 | www.国产在线观看 | 免费国产一区二区 | 国内外成人在线 | 免费网站黄 | 少妇bbbb搡bbbb桶 | 久久久电影网站 | 黄色av成人在线 | 九九久久电影 | 97在线免费视频观看 | 特级毛片网站 | 在线观看黄色大片 | 婷婷丁香色综合狠狠色 | 日韩影视大全 | 国产精品s色 | 亚洲一区精品人人爽人人躁 | 成人av在线直播 | 亚洲精品国偷自产在线99热 | 日韩欧美黄色网址 | 国产精品门事件 | 久久精品一二三区白丝高潮 | 免费视频一级片 | 婷婷开心久久网 | 一区二区电影在线观看 | 亚洲综合在线观看视频 | 国产1区2区 | 天天综合网天天综合色 | 日韩在线观看视频网站 | av高清免费在线 | 亚洲成a人片77777kkkk1在线观看 | 粉嫩av一区二区三区入口 | 丁香婷婷综合五月 | 欧美日韩国产在线观看 | 成人av电影在线 | 国产精品二区三区 | 91亚洲激情 | 久99久在线视频 | 久久蜜臀av| 欧美日产在线观看 | 热re99久久精品国产66热 | 激情校园亚洲 | 在线黄色国产电影 | 在线观看国产日韩欧美 | 国产精品国产三级国产aⅴ9色 | 亚洲区精品 | 色5月婷婷 | 国产中文字幕一区二区 | 午夜av日韩| 天天碰天天操视频 | 四虎在线免费视频 | 欧美日韩综合在线 | 国产黄色精品在线观看 | 精品国产精品一区二区夜夜嗨 | 日本精品在线看 | 蜜桃视频日韩 | 一区 在线观看 | 天天色成人网 | 操处女逼 | 欧美精品一区二区免费 | 亚洲 精品在线视频 | 国产精品嫩草影院99网站 | 色婷婷在线视频 | 99在线播放 | 人人澡视频 | 免费看国产精品 | 91网免费看| 97在线免费视频观看 | 狠狠狠狠狠狠天天爱 | 日韩丝袜视频 | 久久久久免费精品国产 | 婷婷中文在线 | 天堂av在线网 | 国产小视频在线播放 | 亚洲精品免费观看视频 | 亚洲精品999 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲高清av | 婷久久 | 久久精品久久精品久久 | 国产免费又粗又猛又爽 | 五月天婷婷丁香花 | 欧美夫妻性生活电影 | 国产精品久久久久永久免费 | 国产一区私人高清影院 | 久久综合九色综合97婷婷女人 | 黄色aa久久 | 久久小视频 | 久久在线免费观看 | 国产亚洲亚洲 | 在线视频 区 | 亚洲精品一区二区三区四区高清 | 高清免费在线视频 | 免费在线观看成人 | 久久久国产毛片 | 久久激情婷婷 | 成人国产综合 | 国产在线精 | 精品久久久久久久久久久久久久久久久久 | 66av99精品福利视频在线 | 亚洲人成在线观看 | 亚洲精品在 | 99精品电影 | www久久国产 | 九九热只有精品 | 三级午夜片 | 六月丁香婷婷久久 | 久久国产精品99久久久久久老狼 | 在线看一级片 | 夜夜高潮夜夜爽国产伦精品 | 亚洲精选视频在线 | 91资源在线免费观看 | av免费在线网站 | www.夜色.com| 亚洲资源在线观看 | 亚洲视频电影在线 | 国产一区网 | 色狠狠干| 欧美成年黄网站色视频 | 黄色小网站免费看 | 亚洲成人资源 | 久久久久久在线观看 | 久草国产视频 | 在线a亚洲视频播放在线观看 | 亚洲 中文 欧美 日韩vr 在线 | 国产精品久久久久一区二区 | 极品美女被弄高潮视频网站 | 97精品超碰一区二区三区 | 有没有在线观看av | 国产馆在线播放 | 狠狠操在线 | 婷婷午夜激情 | 国产一区二区在线免费播放 | 欧美色噜噜 | 日韩精品久久久久久久电影99爱 | 麻豆视频免费在线观看 | 成人午夜网址 | 国产99久久精品一区二区300 | 欧美日韩综合在线观看 | 亚洲成a人片在线观看网站口工 | av免费网站在线观看 | 久久国产精品99精国产 | 久久国产免费看 | 国内精品久久久久影院一蜜桃 | 久久久国产精品成人免费 | 成人精品一区二区三区中文字幕 | 国产精品久久久久久久毛片 | 欧美国产精品久久久久久免费 | 色综合中文字幕 | 一区二区亚洲精品 | 日韩电影精品 | 国产精品乱码久久久久久1区2区 | 500部大龄熟乱视频使用方法 | 国产免费观看久久 | 蜜臀久久99精品久久久无需会员 | 精品国产一区二区三区久久久久久 | 国产69久久久| 久久久久黄 | 91九色视频观看 | 97理论片 | 亚洲视频在线观看 | 久久精品视频在线观看 | 国产小视频免费在线网址 | 国产精品手机在线观看 | 国产亚洲成人网 | 亚洲国产精品人久久电影 | 色.www | 91夜夜夜 | 国产精品一区二区三区免费看 | 亚洲色图 校园春色 | 在线视频一二三 | av天天在线观看 | 欧美日韩99 | 日韩理论在线 | 天天摸天天操天天爽 | 成人a免费视频 | 日韩天堂在线观看 | av短片在线观看 | 婷婷国产v亚洲v欧美久久 | 欧美色婷| 亚洲最新视频在线 | 日韩一区视频在线 | 999久久久精品视频 日韩高清www | www色,com| 在线看国产日韩 | 天天射天天操天天干 | 欧美成人黄色 | 久久成人免费 | 特级黄色视频毛片 | 成人a在线观看高清电影 | 天天综合五月天 | 日本午夜在线亚洲.国产 | 欧美在一区 | 9999毛片| 久久人人爽人人片 | 国产第一页福利影院 | 麻豆免费观看视频 | a在线免费 | 亚洲精品国产综合久久 | 免费观看性生交大片3 | 亚洲综合激情小说 | 国产精品永久免费在线 | 黄色网址国产 | 18国产精品白浆在线观看免费 | 成人av中文字幕在线观看 | 日本精品久久久久影院 | 亚洲国产精彩中文乱码av | 日韩黄色在线电影 | 成人91免费视频 | 人人干97 | 在线影视 一区 二区 三区 | 果冻av在线 | 国产成人福利在线观看 | 午夜精品久久久久久久久久久久久久 | 国产一级二级在线观看 | 青青草国产精品 | 久久美女高清视频 |