黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

Spring Boot整合mybatis使用注解實現(xiàn)動態(tài)Sql、參數(shù)傳遞等常用操作(實現(xiàn)方法)

瀏覽:170日期:2023-08-19 18:58:09

前面介紹了Spring Boot 整合mybatis 使用注解的方式實現(xiàn)數(shù)據(jù)庫操作,介紹了如何自動生成注解版的mapper 和pojo類。 接下來介紹使用mybatis 常用注解以及如何傳參數(shù)等數(shù)據(jù)庫操作中的常用操作。

其實,mybatis 注解方式 和 XML配置方式兩者的使用基本上相同,只有在構(gòu)建 SQL 腳本有所區(qū)別,所以這里重點介紹兩者之間的差異,以及增刪改查,參數(shù)傳遞等注解的常用操作。

詳解SpringBoot 快速整合Mybatis(去XML化+注解進(jìn)階)已經(jīng)介紹過了,不清楚的朋友可以看看之前的文章:https://www.jb51.net/article/127473.htm

注解介紹

mybatis 注解方式的最大特點就是取消了Mapper的XML配置,具體的 SQL 腳本直接寫在 Mapper 類或是 SQLProvider 中的方法動態(tài)生成。 mybatis 提供的常用注解有:@Insert 、@Update 、@Select、 @Delete等標(biāo)簽,這些注解其實就是 MyBatis 提供的來取代其 XML配置文件的。

1、@Select 注解

@Select,主要在查詢的時候使用,查詢類的注解,一般簡單的查詢可以使用這個注解。

@Select({ 'select', 'id, company_id, username, password, nickname, age, sex, job, face_image, province, ', 'city, district, address, auth_salt, last_login_ip, last_login_time, is_delete, ', 'regist_time', 'from sys_user', 'where id = #{id,jdbcType=VARCHAR}'})@Results({ @Result(column='id', property='id', jdbcType=JdbcType.VARCHAR, id=true), @Result(column='company_id', property='companyId', jdbcType=JdbcType.VARCHAR), @Result(column='face_image', property='faceImage', jdbcType=JdbcType.VARCHAR), @Result(column='auth_salt', property='authSalt', jdbcType=JdbcType.VARCHAR), @Result(column='last_login_ip', property='lastLoginIp', jdbcType=JdbcType.VARCHAR), @Result(column='last_login_time', property='lastLoginTime', jdbcType=JdbcType.TIMESTAMP), @Result(column='is_delete', property='isDelete', jdbcType=JdbcType.INTEGER), @Result(column='regist_time', property='registTime', jdbcType=JdbcType.TIMESTAMP)})User selectByPrimaryKey(String id);

注意:如果是多個參數(shù),需要將 #后面的參數(shù)和傳入的變量名保持一致。

2、@Insert 注解

@Insert,插入數(shù)據(jù)時使用,直接傳入數(shù)據(jù)實體類,mybatis 會屬性自動解析到對應(yīng)的參數(shù)。所以需要將 #后面的參數(shù)和實體類屬性保持一致。

@Insert({ 'insert into sys_user (id, company_id, ', 'username, password, ', 'nickname, age, sex, ', 'job, face_image, ', 'province, city, ', 'district, address, ', 'auth_salt, last_login_ip, ', 'last_login_time, is_delete, ', 'regist_time)', 'values (#{id,jdbcType=VARCHAR}, #{companyId,jdbcType=VARCHAR}, ', '#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, ', '#{nickname,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}, #{sex,jdbcType=INTEGER}, ', '#{job,jdbcType=INTEGER}, #{faceImage,jdbcType=VARCHAR}, ', '#{province,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, ', '#{district,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, ', '#{authSalt,jdbcType=VARCHAR}, #{lastLoginIp,jdbcType=VARCHAR}, ', '#{lastLoginTime,jdbcType=TIMESTAMP}, #{isDelete,jdbcType=INTEGER}, ', '#{registTime,jdbcType=TIMESTAMP})' }) int insert(User record);

注意:需要將 #后面的參數(shù)和實體類屬性保持一致。

3、@Update 注解

@Update,一般數(shù)據(jù)更新操作可以使用 @Update注解實現(xiàn)。

@Update({ 'update sys_user', 'set company_id = #{companyId,jdbcType=VARCHAR},', 'username = #{username,jdbcType=VARCHAR},', 'password = #{password,jdbcType=VARCHAR},', 'nickname = #{nickname,jdbcType=VARCHAR},', 'age = #{age,jdbcType=INTEGER},', 'sex = #{sex,jdbcType=INTEGER},', 'job = #{job,jdbcType=INTEGER},', 'face_image = #{faceImage,jdbcType=VARCHAR},', 'province = #{province,jdbcType=VARCHAR},', 'city = #{city,jdbcType=VARCHAR},', 'district = #{district,jdbcType=VARCHAR},', 'address = #{address,jdbcType=VARCHAR},', 'auth_salt = #{authSalt,jdbcType=VARCHAR},', 'last_login_ip = #{lastLoginIp,jdbcType=VARCHAR},', 'last_login_time = #{lastLoginTime,jdbcType=TIMESTAMP},', 'is_delete = #{isDelete,jdbcType=INTEGER},', 'regist_time = #{registTime,jdbcType=TIMESTAMP}', 'where id = #{id,jdbcType=VARCHAR}' }) int updateByPrimaryKey(User record);

4、@Delete 注解@Delete 數(shù)據(jù)刪除的注解

@Delete({ 'delete from sys_user', 'where id = #{id,jdbcType=VARCHAR}' }) int deleteByPrimaryKey(String id);

5、@Results和@Result注解

@Results 和 @Result 主要作用是,當(dāng)有一些特殊的場景需要處理,查詢的返回結(jié)果與期望的數(shù)據(jù)格式不一致時,可以將將數(shù)據(jù)庫中查詢到的數(shù)值自動轉(zhuǎn)化為具體的屬性或類型,,修飾返回的結(jié)果集。比如查詢的對象返回值屬性名和字段名不一致,或者對象的屬性中使用了枚舉等。如果實體類屬性和數(shù)據(jù)庫屬性名保持一致,就不需要這個屬性來修飾。

@Select({ 'select', 'id, company_id, username, password, nickname, age, sex, job, face_image, province, ', 'city, district, address, auth_salt, last_login_ip, last_login_time, is_delete, ', 'regist_time', 'from sys_user', 'where id = #{id,jdbcType=VARCHAR}'})@Results({ @Result(column='id', property='id', jdbcType=JdbcType.VARCHAR, id=true), @Result(column='company_id', property='companyId', jdbcType=JdbcType.VARCHAR), @Result(column='face_image', property='faceImage', jdbcType=JdbcType.VARCHAR), @Result(column='auth_salt', property='authSalt', jdbcType=JdbcType.VARCHAR), @Result(column='last_login_ip', property='lastLoginIp', jdbcType=JdbcType.VARCHAR), @Result(column='last_login_time', property='lastLoginTime', jdbcType=JdbcType.TIMESTAMP), @Result(column='is_delete', property='isDelete', jdbcType=JdbcType.INTEGER), @Result(column='regist_time', property='registTime', jdbcType=JdbcType.TIMESTAMP)})User selectByPrimaryKey(String id);

上面的例子可以看到,數(shù)據(jù)庫中的company_id 字段和實體類中定義的 companyId 屬性的名稱不一致,需要Result 轉(zhuǎn)換。

以上就是項目中常用的增、刪、改、查的操作, 其實這些在基本的方法不需要手動寫,用前面講過的mybatis generator 自動生成即可。講這些主要是熟悉這些常用的注解。

傳參方式

上面介紹了mybatis 常用的注解,如何實現(xiàn)增刪改查的操作,相信很多人會有疑問了: mybatis 是如何將參數(shù)傳遞到 SQL 中的呢,都有哪幾種傳參方式呢? 下面就來一一介紹mybatis 注解版的傳參方式。

1、直接傳參

對于單個參數(shù)的方法,可直接使用 #{id} 的方式接收同名的變量參數(shù)。

@Delete('delete from sys_user where id = #{id,jdbcType=VARCHAR}')int deleteByPrimaryKey(String id);

2、使用@Param 注解

@Param注解的作用是給參數(shù)命名,參數(shù)命名后就能根據(jù)名字得到參數(shù)值,正確的將參數(shù)傳入sql語句中 。如果你的方法有多個參數(shù),@Param注解 會在方法的參數(shù)上就能為它們?nèi)∽远x名字,參數(shù)則先以 'param' 作前綴,再加上它們的參數(shù)位置作為參數(shù)別名。例如, #{param1}、 #{param2},這個是默認(rèn)值。如果注解是 @Param('person'),那么參數(shù)就會被命名為 #{person}。

@Select('SELECT * FROM sys_user WHERE username = #{username} and password = #{password}')List<User> getListByUserSex(@Param('username') String userName, @Param('password') String password);// 不自定義param 時,默認(rèn)使用 param + 參數(shù)序號 或者 0,1,值就是參數(shù)的值。@Select('SELECT * FROM sys_user WHERE username = #{param1} and password = #{param2}')List<User> getListByUserSex(String userName, String password);

3、Map 傳值需要傳送多個參數(shù)時,也可以考慮使用Map的形式。

@Select('SELECT * FROM sys_user WHERE username=#{username} AND password = #{password}')List<User> getListByNameAndSex(Map<String, Object> map);

調(diào)用時將參數(shù)依次加入到 Map 中即可。

Map param= new HashMap();param.put('username','admin');param.put('password','123456');List<User> users = userMapper.getListByNameAndSex(param)

4、使用pojo對象 使用pojo對象傳參是比較常用的傳參方式。像上面的insert、update 等方法。都是直接傳入user對象。

@Update({ 'update sys_user', 'set company_id = #{companyId,jdbcType=VARCHAR},', 'username = #{username,jdbcType=VARCHAR},', 'password = #{password,jdbcType=VARCHAR},', 'nickname = #{nickname,jdbcType=VARCHAR},', 'age = #{age,jdbcType=INTEGER},', 'sex = #{sex,jdbcType=INTEGER},', 'job = #{job,jdbcType=INTEGER},', 'face_image = #{faceImage,jdbcType=VARCHAR},', 'province = #{province,jdbcType=VARCHAR},', 'city = #{city,jdbcType=VARCHAR},', 'district = #{district,jdbcType=VARCHAR},', 'address = #{address,jdbcType=VARCHAR},', 'auth_salt = #{authSalt,jdbcType=VARCHAR},', 'last_login_ip = #{lastLoginIp,jdbcType=VARCHAR},', 'last_login_time = #{lastLoginTime,jdbcType=TIMESTAMP},', 'is_delete = #{isDelete,jdbcType=INTEGER},', 'regist_time = #{registTime,jdbcType=TIMESTAMP}', 'where id = #{id,jdbcType=VARCHAR}'})int updateByPrimaryKey(User record);

以上,就是Mybatis 傳參的四種方式。根據(jù)方法的參數(shù)選擇合適的傳值方式。

動態(tài) SQL

實際項目中,除了使用一些常用的增刪改查的方法之外,有些復(fù)雜的需求,可能還需要執(zhí)行一些自定義的動態(tài)sql。mybatis 除了提供了@Insert、@Delete 這些常用的注解,還提供了多個注解如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,用來建立動態(tài)sql 和讓 mybatis 執(zhí)行這些sql 的注解。下面就來實現(xiàn)按字段更新的功能。

1、首先在 UserSqlProvider 中創(chuàng)建 拼接sql的方法。

public String updateByPrimaryKeySelective(User record) { BEGIN(); UPDATE('sys_user'); if (record.getCompanyId() != null) { SET('company_id = #{companyId,jdbcType=VARCHAR}'); } if (record.getUsername() != null) { SET('username = #{username,jdbcType=VARCHAR}'); } if (record.getPassword() != null) { SET('password = #{password,jdbcType=VARCHAR}'); } if (record.getNickname() != null) { SET('nickname = #{nickname,jdbcType=VARCHAR}'); } if (record.getAge() != null) { SET('age = #{age,jdbcType=INTEGER}'); } if (record.getSex() != null) { SET('sex = #{sex,jdbcType=INTEGER}'); } if (record.getJob() != null) { SET('job = #{job,jdbcType=INTEGER}'); } if (record.getFaceImage() != null) { SET('face_image = #{faceImage,jdbcType=VARCHAR}'); } if (record.getProvince() != null) { SET('province = #{province,jdbcType=VARCHAR}'); } if (record.getCity() != null) { SET('city = #{city,jdbcType=VARCHAR}'); } if (record.getDistrict() != null) { SET('district = #{district,jdbcType=VARCHAR}'); } if (record.getAddress() != null) { SET('address = #{address,jdbcType=VARCHAR}'); } if (record.getAuthSalt() != null) { SET('auth_salt = #{authSalt,jdbcType=VARCHAR}'); } if (record.getLastLoginIp() != null) { SET('last_login_ip = #{lastLoginIp,jdbcType=VARCHAR}'); } if (record.getLastLoginTime() != null) { SET('last_login_time = #{lastLoginTime,jdbcType=TIMESTAMP}'); } if (record.getIsDelete() != null) { SET('is_delete = #{isDelete,jdbcType=INTEGER}'); } if (record.getRegistTime() != null) { SET('regist_time = #{registTime,jdbcType=TIMESTAMP}'); } WHERE('id = #{id,jdbcType=VARCHAR}'); return SQL(); }

2、Mapper 中引入updateByPrimaryKeySelective方法

@UpdateProvider(type=UserSqlProvider.class, method='updateByPrimaryKeySelective') int updateByPrimaryKeySelective(User record);

說明:

type:動態(tài)⽣成 SQL 的類

method:類中具體的方法名

以上,就是使用sqlprovider 動態(tài)創(chuàng)建sql,除了示例中的@UpdateProvider ,,還有 @InsertProvider、 @SelectProvider、@DeleteProvider 提供給插入、查詢、刪除的時使用。

最后

上面,介紹了使用mybatis 常用注解實現(xiàn)增、刪、改、查。以及mybatis 常用的四種參數(shù)傳遞方式。

到此這篇關(guān)于Spring Boot整合mybatis使用注解實現(xiàn)動態(tài)Sql、參數(shù)傳遞等常用操作(實現(xiàn)方法)的文章就介紹到這了,更多相關(guān)Spring Boot整合mybatis內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 中文字幕女教师julia视频 | 青青青国内视频在线观看软件 | 久久夜色精品国产www红杏 | 成人黄色片免费 | 蜜桃av噜噜一区二区三区小说 | 99色网| 欧美成人xxxxx | 爱爱免费视频网站 | 国产视频播放 | 亚洲精品乱码久久久久久蜜桃动漫 | 99精品久久久久久久久久综合 | 成人手机在线免费视频 | 九九九久久久久久 | 色欲国产麻豆一精品一av一免费 | 色偷偷88888欧美精品久久久 | 国产艳情片 | 9i看片成人免费高清 | 久章草在线精品视频免费观看 | 日韩熟女精品一区二区三区 | 亚洲免费一级片 | 在线精品国产一区二区三区 | 在线播放小视频 | 综合久久中文字幕 | 国产精品免费久久久久影院 | 亚洲成人av一区二区三区 | 日本视频免费在线 | 超碰在线免费看 | 精品乱码久久久久久中文字幕 | 强辱丰满人妻hd中文字幕 | 少妇高潮淫片免费观看 | 欧美男人又粗又长又大 | 久久国产a | 老熟女重囗味hdxx70星空 | 99热6这里只有精品 99热99re6国产在线播放 | 少妇高潮流白浆在线观看 | 欧美精品一区二区性色 | 中国美女囗交视频免费看 | 国产乱码一区二区三区在线观看 | 国产1区2区| 国产学生美女无遮拦高潮视频 | 国产高清精品软件丝瓜软件 | 日韩激情一区二区 | 久久婷婷色一区二区三区asmr | 无码国产乱人伦偷精品视频 | 国产欧美日韩中文久久 | 亚洲精品在线观看视频 | 日本成人免费视频 | 欧美午夜刺激影院 | 国产又粗又猛又爽又黄无遮挡 | 日韩在线第一 | 爱情岛亚洲论坛福利站 | 久久精品国产v日韩v亚洲 | 亚洲裸男自慰gv网站 | 无码少妇一区二区 | 少妇私密推油呻吟在线播放 | 狠狠精品干练久久久无码中文字幕 | 日本亚洲网站 | 日韩三级在线观看 | 91网站最新地址 | 国产真实乱对白精彩久久 | av免费观看在线 | 狠狠色丁香婷婷久久综合考虑 | 91精品国产91久久久久 | 亚洲国产精品久久久久婷婷老年 | 3d成人精品动漫视频在线观看 | 中国内地毛片免费高清 | 亚洲黄色视屏 | 久久99蜜桃综合影院免费观看 | 日韩精品一区二区av在线 | 欧美成人三级精品 | 成人精品| 偷看洗澡的香港三级 | 中文有码亚洲制服av片 | 激情久久一区 | 2024男人天堂 | 国产一区二区三区免费观看视频 | 在线视频国产一区 | 国产亚洲精品aaaa片app | 久久人人爽人人爽人人片av不 | 日本三级一区二区三区 | 日本www色 | 欧美一级片播放 | 欧美黑人精品一区二区不卡 | 中文字幕一区二区在线视频 | 又粗又黄又硬又爽的免费视频 | 阿v天堂在线观看 | 国产精品美女久久久久av福利 | 狼人色综合 | 综合精品国产 | 久国久产久精永久网页 | 久热超碰| 成人国产免费 | 人人爽人人做 | 激情区| 久久久久97国产精 | heyzo亚洲 | 色综合色狠狠天天综合色 | 国产ts人妖系列张思妮在线观看 | 青青视频免费观看 | 国产精品无码午夜免费影院 | 国产精品亚洲一区二区三区 | 成人91在线 | 欧美精品久久久 | 中文字幕免费中文 | 精品视频在线一区二区 | 亚洲羞羞 | 男女超爽视频免费播放 | 亚洲精品国产精品乱码不97 | 亚洲日本人的毛茸茸 | 日本人妻中文字幕乱码系列 | 日日碰狠狠躁久久躁2023 | 亚洲精品久久久久中文字幕二区 | 永久免费无码av网站在线观看 | 国产在线第一页 | 成人a级做爰生活片 | 成年人午夜网站 | 日本三级全黄三级a | 国产精品suv一区二区三区 | 欧美乱论| 理伦毛片 | 亚洲男人第一无码av网站 | 九一在线视频 | 国产成人无码精品午夜福利a | 亚洲性欧美 | 色婷婷综合久久久久中文一区二区 | 舌头伸进添得好爽高潮欧美 | 色噜噜一区二区三区 | 66亚洲一卡2卡新区成片发布 | 激情文学综合网 | 精品午夜一区二区三区在线观看 | 最近最新中文字幕高清免费 | 韩国三级中文字幕hd久久精品 | 最新中文字幕av无码不卡 | 人人妻人人澡人人爽精品欧美 | 卡一卡二在线视频 | 色秀视频在线观看 | 日韩精品在线观看免费 | 久久大片 | 青娱乐自拍视频 | 99久久久国产精品免费调教网站 | 国产免费a视频 | 亚洲成av人片一区二区梦乃 | 欧美亚洲自拍偷拍 | 国产精品多久久久久久情趣酒店 | 免费一级a毛片 | 猎艳山村丰满少妇 | 亚洲中文字幕无码天然素人在线 | 两个人看的vvv在线高清 | 关之琳三级全黄做爰在线观看 | 国产综合久久久久 | 国产免费丝袜调教视频 | 精品国产一区二区在线观看 | 亚洲区中文字幕 | 日本精品一区二区三区在线观看 | 国产精品视频在 | 欧美视频在线播放 | 青娱乐最新视频 | 中字幕一区二区三区乱码 | 在线观看www | 欧美裸体网站 | 精品久久久无码中文字幕边打电话 | 欧美一区不卡 | 四虎影院免费 | 一区二区中文字幕在线 | 在线免费观看亚洲视频 | 岛国av动作片在线观看 | 99精品国产免费久久 | 欧美日韩视频免费观看 | 成人在线观看网站 | 九九热精品在线 | 性xxxx视频播放免费 | 韩国精品一区二区三区四区 | 噼里啪啦动漫 | 青青草华人在线 | 粉嫩精品国产色综合久久不8 | av软件网站| 久久久蜜桃一区二区人 | 97精品国产97久久久久久粉红 | 久久人人爽人人爽人人片av软件 | 欧美性大战久久久久xxx | 国产视频日韩 | 亚洲午夜无码久久yy6080 | 久久精品噜噜噜成人88aⅴ | 无遮挡男女激烈动态图 | 成人午夜视频精品一区 | 国产精品一区二区三区久久久 | 日日操日日 | 免费视频日韩 | 久久的久久爽亚洲精品aⅴ 久久第一页 | 最近在线更新8中文字幕免费 | 久久久久国产精品视频 | 亚洲精品一区二区五月天 | 午夜寂寞少妇aaa片毛片 | 久草在线免费福利 | 国产youjizz | 亚洲春色在线观看 | 日韩av有码 | 一区二区美女视频 | 欧美日韩免费一区 | 中文成人无字幕乱码精品区 | 69久久99精品久久久久婷婷 | 伊人久久久久久久久久久久久 | 人人超碰人摸人爱 | 亚洲综合亚洲 | 久久天天躁夜夜躁狠狠 | 婷婷丁香五月激情综合 | 中国精品久久久 | 成人a√ | 男人用嘴添女人私密视频 | 高清无码午夜福利视频 | 丁香桃色午夜亚洲一区二区三区 | 中文字幕第23页在线 | 夜夜爽久久精品91 | 婷婷五月综合丁香在线 | 国产欧美亚洲精品第一区软件 | 少妇综合网 | 隔壁邻居是巨爆乳寡妇 | 国产精品69av | 九九久久久 | 亚洲乱码av| 国产一级片免费看 | а√中文在线资源库 | 超碰97人人人人人蜜桃 | av在线大全 | 欧美日韩三级在线 | 亲子乱对白乱都乱了视频 | 国产麻豆剧果冻传媒白晶晶 | 欧美综合另类 | 国产精品无码一区二区三区 | av男人网| 潘金莲aa毛片一区二区 | 欧美乱论视频 | 999久久久国产999久久久 | 国产精品呦呦 | 成人激情综合 | 中文字幕av无码一区二区三区电影 | 午夜在线播放 | 五月色综合 | 色婷婷导航 | 亚洲美女福利视频 | 黄色的视频网站 | 又色又爽又黄无遮挡的免费视频 | 经典毛片 | 韩国三级视频 | 国产九色在线 | 中国黄色毛片视频 | 丁香花五月| 美女作爱网站 | 亚洲视频小说 | 尤物在线观看视频 | 亚洲va欧美va人人爽 | 夜夜爽夜夜叫夜夜高潮漏水 | 久久久久夜色精品国产老牛91 | 久久精品国产99久久久古代 | 国产精品久久久久久久久久久免费看 | 色欲麻豆国产福利精品 | 亚洲乳大丰满中文字幕 | 香蕉精品在线 | 丝袜 中出 制服 人妻 美腿 | 成人一级大片 | 大度亲吻原声视频在线观看 | 黄色网址免费 | 少妇下蹲露大唇无遮挡 | 欧美一区二区三区成人 | 一区二区三区国产视频 | 欧美黄色一级生活片 | 野外做受又硬又粗又大视频 | 久久综合久久鬼 | 青青啪啪 | 高h喷水荡肉少妇爽多p视频 | 77777亚洲午夜久久多喷 | 一区二区91 | 2019日韩中文字幕mv | 欧美国产综合欧美视频 | 久久精品丝袜高跟鞋 | 欧美一级淫片aaaaaaa喷水 | 99热免费 | 国产欧美一区二区精品仙草咪 | 九九热国产精品视频 | xxxxx毛片| av影音先锋最大资源网 | 天堂va蜜桃一区二区三区 | 日韩中文字幕第一页 | 无码人妻精品一区二区三区久久久 | 久久久国产精品免费 | 最新国产乱人伦偷精品免费网站 | 亚洲图色视频 | 亚洲欧美色图 | 91狠狠狠狠狠狠狠狠 | 天堂av在线官网 | 不卡国产一区二区三区四区 | 欧美日韩一区二区区别是什么 | 国产精品久久久久久久久久 | 国精品人妻无码一区免费视频电影 | 色哟哟在线视频 | 天堂网中文在线观看 | 欧美三级韩国三级日本三斤 | 国产精品无码av不卡顿 | 国产91视频在线观看 | 成人a视频片观看免费 | 神马一区二区三区 | 欧美比基尼 | 草草影院在线观看视频 | 嫩草嫩草嫩草嫩草嫩草 | 午夜激情影院在线观看 | 97成人免费| 日韩精品成人av | 欧美激情免费在线 | 欧美性猛交 xxxx | 久草在线视频福利资源站 | 浪潮av一区二区三区 | 18videosex性欧美麻豆 | 女人18毛片毛片毛片毛片区二 | 国产成人免费观看视频 | 国产免费久久精品 | 欧美视频一区二区三区 | 久久亚洲精品久久国产一区二区 | 国产精品久久久 | 夜色影院在线观看 | 99久久99久久精品免费看蜜桃 | 亚洲色大成网站www 中文字幕色婷婷在线视频 麻豆人妻少妇精品无码专区 | 在线a毛片| 久久久久噜噜噜亚洲熟女综合 | 深夜福利在线免费观看 | 欧美多人猛交狂配 | 久久久久99精品成人片 | 日韩 欧美 自拍 | 日本19禁啪啪吃奶大尺度 | 日韩三级黄色 | 少妇高潮太爽了中文字幕 | 亚洲综合站 | 中文字幕乱码av | 久久国产视频一区 | 一本到在线 | 成人做爰www免费看视频网站 | 成人午夜免费毛片 | 三级做爰高清视频 | 国产女人与拘做受视频9 | 国产在线无码视频一区二区三区 | 99热久久免费频精品18 | www国产毛片 | 日本大乳高潮xxxxx | 一区二区三区欧美视频 | 亚洲欧美日本国产高清 | 久久97精品| 国产精品亚洲欧美日韩在线观看 | 色情无码www视频无码区小黄鸭 | 把少妇弄高潮了www麻豆 | 伊人超碰在线 | 久久久久久久 | 亚洲第一毛片 | 欧美在线免费看 | 国产内射在线激情一区 | 成人综合婷婷国产精品久久蜜臀 | 国产精品88av | 久久精品无码一区二区无码 | 国模一区二区三区白浆 | 国产农村乱子伦精品视频 | 日本免费视频 | 久久国产精品免费 | 国产欧美综合一区二区三区 | 国产精品无人区一区二区三区 | 欲妇荡岳丰满少妇岳91在线 | 亚洲国产理论片在线播放 | 中文字幕人妻无码系列第三区 | 精品久久久久久综合日本 | 黑人jizz60性黑人 | 亚洲国产无线乱码在线观看 | 国产男人天堂 | 在线天堂1 | 日韩精品资源 | 欧美激情免费视频 | 99re最新| 少妇久久久久久被弄高潮 | 全黄h全肉边做边吃奶视频 熟妇人妻av无码一区二区三区 | 日韩色图视频 | 国产伦精品一区二区三区免费观看 | 催眠调教邻居美人若妻在线播放 | 国产xxxx裸体xxx免费 | 九九综合九色综合网站 | 亚洲精品字幕 | 精品视频www| 亚洲欧美日韩精品在线观看 | 91视频美女 | 欧美成人91 | 国产黄色av网站 | 免费国产在线麻豆网站 | 少妇中文字幕乱码亚洲影视 | 俄罗斯少妇性高清ⅹxx | 天天干天天色综合网 | 免费国精产品自偷自偷免费看 | 久久综合色88 | 国产稀缺真实呦乱在线 | 久久精品波多野结衣 | 色偷偷色偷偷色偷偷在线视频 | 无码人妻出轨黑人中文字幕 | 色婷婷伊人 | 色婷婷综合久久久中文一区二区 | 97超碰站 | 天堂va在线观看 | 午夜精品极品粉嫩国产尤物 | 国语对白老女人一级hd | 波多野结衣中文字幕久久 | 亚洲国产精品免费在线观看 | 免费无码一区二区三区a片百度 | 韩国精品视频 | 亚洲综合欧美色五月俺也去 | 国产高清av在线播放 | 久草视频污 | 91在线精品啪婷婷 | 国产精品人八做人人女人a级刘 | 中文人妻无码一区二区三区信息 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 亚洲狼人天堂 | 九九久久精品国产av片国产 | 亚洲中文字幕无码爆乳av | 97丨九色丨国产人妻熟女 | 欧美一区二区三区大片 | 色视频在线播放 | 性做久久久久久久免费看 | 亚洲人成网亚洲欧洲无码久久 | gogo人体做爰aaaa | 欧美a久久 | 久久久久久久久久99 | 182tv午夜| 欧美少妇一区 | 一色桃子av一区二区 | 综合激情婷婷 | 亚洲国产精品久久久久婷婷老年 | 国产又粗又猛又爽又黄的视频文字 | 欧美成人精品一区二区三区 | 久久久精品欧美一区二区 | 国产乱妇乱子视频在播放 | 国产精品成人99一区无码 | 三及毛片| 国产免费久久精品国产传媒 | www亚洲精品少妇裸乳一区二区 | 欧美视频在线一区 | 天天色天天看 | 欧美三级网址 | 香蕉免费在线视频 | 51成人| 国产一区二区精彩视频 | 中文字幕亚洲在线 | www.com捏胸挤出奶 | 欧美亚洲日韩国产人成在线播放 | 国产毛茸茸毛毛多水水多 | 久久人搡人人玩人妻精品首页 | 一级 黄 色 毛片 | 成人免费视频国产免费网站 | 国产精品.xx视频.xxtv | 狠狠综合久久av一区二区 | 日产特黄极日产 | 欧美视频久久 | 欧美网站在线观看 | 亚洲精品入口a级 | 青草伊人网 | 人人添人人澡人人澡人人人人 | 欧美人妻精品一区二区三区 | 韩国三级中文字幕 | 国产精华av午夜在线观看 | 欧美交换 | 特级全黄久久久久久久久 | 青青青在线视频免费观看 | 精品无人乱码一区二区三区 | 特黄aaaaaa私密按摩 | 欧美精品亚洲一区 | 久久国产日韩 | 蜜桃堂女性向av片在线观看 | 女人18毛片一区二区三区 | 亚洲欧美日韩激情 | 在线中文字幕观看 | 国产一区二区在线影院 | 中文字幕无码不卡免费视频 | 美女诱惑av | 91网站在线看 | 日本丰满大乳mm | 日日操日日 | 小舞同人18吸乳羞羞在线观看 | 国产精品久久久久久久久久久不卡 | 一本色道久久综合亚洲精品按摩 | 日韩国产在线 | 性乌克兰xxxx极品 | 欧美三级视频网站 | 亚洲视频在线观看网站 | 中国丰满人妻videoshd | 精品欧美一区二区精品久久久 | a天堂在线观看 | 午夜无码片在线观看影院 | 天堂资源 | 国产对白videos麻豆高潮 | 亚洲欧美日韩在线看 | 你懂的网站在线观看 | 国产精品美女久久久久av爽李琼 | 欧美激情性做爰免费视频 | 伦理东北丰满少妇 | 欧美亚洲一区二区三区 | av网站在线免费 | 欧美自偷自拍 | 国产激情网站 | 国产成人精品午夜视频 | 99国产欧美久久久精品蜜芽 | 中国字幕一色哟哟 | 天天做天天摸天天爽天天爱 | 欧美性生活视频 | 大学生一级片 | 国产精品成人久久久久久久 | 色先锋av资源中文字幕 | 国产亚洲美女精品久久久2020 | 亚洲最大av资源站无码av网址 | 精品无码久久久久久国产 | 欧美r级在线观看 | 波多野成人无码精品电影 | 午夜精品久久久久久久久久久久久 | 国产又粗又猛又大爽老大爷 | 黄色大全在线观看 | 窝窝午夜精品一区二区 | 精品一区二区三区毛片 | 欧美一区二区喷水白浆视频 | 伊人久久国产精品 | 免费超爽视频在线观看 | 对白脏话肉麻粗话av | 国产成人不卡 | 四虎永久在线精品免费观看网站 | 欧美成人一区二区三区四区 | 欧美黑人又粗又大又爽免费 | 国产成人综合久久亚洲精品 | 24小时日本在线www免费的 | 久久久精品国产免大香伊 | 国产白嫩精品又爽又深呻吟 | 日韩高清欧美 | 色av综合av综合无码网站 | 在线观看视频国产 | 欧美一区二区三区四区在线观看地址 | 国产精品高潮呻吟三区四区 | 成人网在线观看 | 蜜桃av在线 | 亚洲无av | 中国一级黄色毛片 | 久久中文骚妇内射 | 天天曰天天干 | 亚洲自拍中文字幕 | 亚洲xxx视频| 综合色在线观看 | 又黄又爽又无遮挡免费的网站 | wwwyjizcom性欧美| 国产毛片a | 欧性猛交ⅹxxx乱大交 | 色综合色综合久久综合频道88 | 国产精品igao视频网网址 | 欧美模特做爰xxxⅹxxx | 一曲二曲三曲在线观看中文字幕动漫 | 无码人妻丰满熟妇区五十路 | 69视频网址| av大全免费 | 中文字幕高清在线 | 久久久久国产精 | 欧美成人片在线 | 香蕉视频在线看 | 三级三级三级a级全黄公司的 | 嫩草视频网站 | 亚洲国产成人aⅴ毛片大全密桃 | 欧美绿帽合集xxxxx | 亚洲一区av在线 | www国产国人免费观看视频 | 亚洲 激情 | 丰满少妇裸体淫交 | 青青操网站| 丰满少妇高潮在线播放不卡 | 黄网站欧美内射 | 成人免费在线影院 | 国产边打电话边做对白刺激 | 视频1区2区 | 欧美激情免费在线 | 日本午夜免费 | 色翁荡息又大又硬又粗又爽电影 | 在线免费你懂的 | 一级做a爰片久久毛片 | 人禽l交视频在线播放 视频 | 久久夜色精品国产www红杏 | 全黄一级片 | 国产h在线观看 | 国产午夜精品一区二区三区 | 成在线人免费视频 | 乱辈侵犯中文字幕 | 蜜臀av在线观看 | 韩国性生交大片免费观看视频 | 免费观看成人欧美www色 | 美女隐私免费看 | 国产精品乱码人妻一区二区三区 | 亚洲日韩av无码一区二区三区人 | 亚洲97在线 | 青青99 | 久久精品8 | 黄视频在线 | 91人人爽久久涩噜噜噜 | 国产一性一交一伦一a片 | 国产情侣真实露脸在线 | 欧美xxxx性xxxxx高清 | 久久国产a | 伊人影院中文字幕 | 艳妇av| 日本一本二本三区免费 | 亚洲欧美另类在线视频 | 毛片基地视频 | 成人做爰高潮片免费看 | jizz日本免费 | 国产欧美精品区一区二区三区 | 欧美男女交配视频 | 国产偷久久一级精品av小说 | 婷婷综合精品 | 密臀av在线 | 国产精品区一区二区三在线播放 | av片免费在线播放 | 性国产xxxx乳高跟 |