久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Spring Boot整合mybatis使用注解實現動態Sql、參數傳遞等常用操作(實現方法)

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

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

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

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

注解介紹

mybatis 注解方式的最大特點就是取消了Mapper的XML配置,具體的 SQL 腳本直接寫在 Mapper 類或是 SQLProvider 中的方法動態生成。 mybatis 提供的常用注解有:@Insert 、@Update 、@Select、 @Delete等標簽,這些注解其實就是 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);

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

2、@Insert 注解

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

@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);

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

3、@Update 注解

@Update,一般數據更新操作可以使用 @Update注解實現。

@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 數據刪除的注解

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

5、@Results和@Result注解

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

@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);

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

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

傳參方式

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

1、直接傳參

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

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

2、使用@Param 注解

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

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

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

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

調用時將參數依次加入到 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 傳參的四種方式。根據方法的參數選擇合適的傳值方式。

動態 SQL

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

1、首先在 UserSqlProvider 中創建 拼接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:動態⽣成 SQL 的類

method:類中具體的方法名

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

最后

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

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

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲欧美日韩精品久久奇米色影视 | 日韩中文字幕在线观看 | 国内精品视频一区国产 | 97精品国产97久久久久久粉红 | 国产99一区二区 | 看a网址| 久久久麻豆 | 不用播放器的毛片 | 国产极品探花 | 国产精品久久久久久久岛一牛影视 | 精品日韩在线 | 日本久久99 | 99久久精品国产一区二区三区 | 国产日韩一级片 | 色丁香婷婷 | 精品影院 | 亚洲第一性理论片 | 国产精品高清在线 | 亚洲一区不卡在线 | 成人a级网站| 国产精品免费观看 | 日本久久99 | 91中文字幕在线观看 | 不卡在线一区 | 久久只有精品 | 在线视频成人 | 久草在线 | 一区免费看 | 成人欧美| 精品成人免费一区二区在线播放 | 日本欧美一区二区 | 国产欧美精品一区二区三区 | 久久久久网站 | 精品国产18久久久久久二百 | 日韩精品一二三区 | 精品久久久久久久久久久久 | 在线中文 | 国产精品中文字幕在线观看 | 亚洲国产二区 | 国内精品成人 | 久久这里有精品 | 黄色一级免费大片 | 日本一区二区不卡 | 亚洲精品无 | 中文字幕日韩欧美 | 人人干人人干人人 | 亚洲精品亚洲人成人网 | 99国内精品久久久久久久 | 91最新 | 欧美午夜三级视频 | 亚洲专区中文字幕 | 国产激情一区二区三区 | 国产伦精品久久久一区二区三区 | 欧美日韩黄色一级片 | 亚洲在线视频 | 99综合在线| 久久成人一区 | 国产视频一区二区 | 伊人久久艹 | 欧美一区二区三区视频 | 99视频免费播放 | 中文字幕日韩在线 | 啪啪网免费 | 成人免费在线电影 | 久久久久久久一区 | 午夜在线观看视频网站 | 日韩免费视频 | 国产精品美女久久久久久久久久久 | 国产精品人人做人人爽人人添 | 新疆少妇videos高潮 | 久草福利在线视频 | 欧美男人天堂 | 中文字幕日韩欧美一区二区三区 | 狠狠综合久久av一区二区小说 | www..99热| 久久精品成人 | 久久久久久久国产精品 | 国产一区二区精品久久 | 女同久久另类99精品国产 | 91资源在线观看 | 农村少妇kkkk7777 | 中文字幕_第2页_高清免费在线 | 亚洲伊人精品酒店 | 国产麻豆乱码精品一区二区三区 | 亚洲一区二区三区免费在线观看 | 国产96视频 | 日韩视频在线免费 | 亚洲一道本 | 免费在线h | 黄色一级大片在线免费看产 | 欧美日韩在线一区 | 国产精品国产三级国产aⅴ 精品91 | 亚州国产精品 | 日本久久久久久 | 嫩草视频免费在线观看 | 日韩成人一区二区 | 黄网站免费在线观看 | 久久亚洲国产精品 | 亚洲欧美日韩精品久久亚洲区 | 成人免费大片黄在线播放 | 天天综合7799精品影视 | 99久久国产| av免费网站在线观看 | 四色成人av永久网址 | 九色av | 亚洲自拍一区在线 | 毛片在线免费 | 国内自拍视频在线观看 | 色婷婷国产精品久久包臀 | 超碰官网 | 中文字幕av网站 | 一区二区中文字幕在线观看 | 久久久久久综合 | 国产精品久久久久久久毛片 | 日韩精品久久久久 | 九九热这里只有精品在线观看 | 在线视频亚洲 | 国产精品视频一区二区三区 | 成人免费视频网站在线观看 | 91视频网址| 制服 丝袜 激情 欧洲 亚洲 | 中文字幕欧美在线 | 日产精品久久久一区二区 | 一级片视频免费 | 色精品 | 欧美成年网站 | 亚洲成人av一区二区三区 | 成人做爰9片免费视频 | 久草成人 | 欧美日韩亚洲高清 | 精品中文字幕在线 | 免费看性生交大片 | 四虎永久免费在线 | 99热在线观看免费 | 国产一区二区精品久久 | 日韩精品专区在线影院重磅 | 成人中文网 | 亚洲好看站| 99色资源| 久久久久久久av | 天操天天干 | 日韩精品一区二区三区第95 | 日本久久久久久久久久 | 九九免费观看全部免费视频 | 9se成人免费网站 | 日韩精品视频在线播放 | 午夜成人免费视频 | 日本激情视频一区二区三区 | 国产成人精品免高潮在线观看 | 91欧美在线 | 成人国产一区二区 | 国产视频自拍一区 | 亚洲精品一区二区 | 中文字幕一区在线观看视频 | 久久精品二 | 久久久亚洲一区二区三区 | 欧美一区二区三区四区不卡 | 久久免费视频在线 | 亚洲精品免费在线观看 | 欧美精品在线视频 | 北条麻妃一区二区在线 | 日韩在线视屏 | a级性视频 | 黄色国产在线看 | 啊v在线视频 | 亚洲视频在线看 | 欧美精品日韩 | 丰满少妇久久久久久久 | 一区二区不卡视频 | 久久久久久中文字幕 | 天天干天操| 精品一区二区三区不卡 | 日韩毛片免费在线观看 | 日韩高清中文字幕 | 成人午夜电影在线 | 精品国产欧美一区二区三区成人 | 久久草在线视频 | 99精品国产在热久久 | 国产福利在线免费 | 久久精品一区二区三区四区 | 国产亚洲精品美女久久久久久久久久 | 日韩理伦片在线观看视频播放 | 亚洲在线播放 | 杏导航aⅴ福利网站 | 精品国产91亚洲一区二区三区www | 中文字幕av在线 | 在线国产一区 | 99这里只有精品 | 伊人超碰 | 欧美在线观看黄 | 日日精品| 奇米影视奇米色777欧美 | 成人在线国产 | 99精品99| 伊人精品 | 日韩专区一区二区三区 | 色吧一区| 久久三区| 久久天堂 | 日韩欧美国产电影 | 最新久久精品 | 噜噜噜噜噜在线视频 | av网址在线播放 | 青草视频网站 | 97在线观看视频 | 精品国内 | 国产91极品 | 日韩欧美在线观看一区二区 | 日韩欧美国产精品综合嫩v 高清av网站 | 在线国产视频 | 日本视频一区二区三区 | 国产免费一区二区三区最新不卡 | 黄色a级网站 | 午夜在线小视频 | 日韩精品在线观看一区 | 伊人网在线视频免费观看 | 日韩免费片 | 黄色三级网站 | 亚洲成人免费电影 | 欧美一区二区在线免费观看 | 精品国产欧美一区二区三区成人 | 国产一区在线视频 | 中国大陆高清aⅴ毛片 | 国产99精品 | 国产三级在线 | 午夜精选视频 | 成人免费视频观看视频 | 国产一区二区在线免费 | 日本 欧美 三级 高清 视频 | 午夜免费福利在线 | 欧美色v| 91久久精品一区二区三区 | 欧美极品视频 | 国产91亚洲精品 | 亚洲激情欧美 | 精品久久99| 国产激情久久久久久 | 精品成人国产 | 自拍偷拍精品 | 国产成人在线一区二区 | 99精品一区二区三区 | 综合久久99| 成人精品鲁一区一区二区 | 久久久久一区二区三区 | 中文字幕视频二区 | 亚洲毛片网站 | 伊人久久精品久久亚洲一区 | 日本不卡高字幕在线2019 | 精品国产仑片一区二区三区 | 国产精品毛片一区二区在线看 | 国产欧美在线视频 | 久久国产精品99久久久久久老狼 | 中文字幕一区二区三区不卡 | 中文字幕日韩一区二区不卡 | 一级成人免费 | 天天久久 | 国产丝袜人妖ts黄檬 | 亚洲天堂一区 | a网站在线观看 | 97伦理片| 国产高潮好爽受不了了夜色 | 国产区视频在线观看 | 亚洲伊人久久综合 | 精品视频一区二区三区 | 国产成人一区二区三区 | 99久久婷婷国产精品综合 | 日韩久久影院 | 日本中文字幕在线视频 | 国产成人99久久亚洲综合精品 | 亚洲电影一区 | 亚洲欧美日韩另类精品一区二区三区 | 欧美一级在线 | a级片视频在线观看 | 草草网站 | 视频一区在线 | 国产精品久久久久久久久久大牛 | 欧美一级二级视频 | 国产精品一区在线观看 | 一级网站在线观看 | 日韩精品一91爱爱 | 91在线免费观看 | 亚洲一区国产精品 | 久久一本| 国产51人人成人人人人爽色哟哟 | 97伦理电影| 亚洲免费在线观看 | 在线中文字幕日韩 | 日韩成人精品 | 色吊丝2288sds中文字幕 | 男女免费在线观看 | 欧产日产国产一区 | 久久国产精品免费一区二区三区 | 九九综合| 免费观看成人性生生活片 | 日韩精品一区二区三区四区视频 | 精品免费视频 | 亚洲精品成人 | 日韩免费视频中文字幕 | 懂色av一区二区三区在线播放 | 中文字幕日韩在线 | 欧美中文字幕 | 国产精品污www在线观看 | 国外成人在线视频 | 一区网站 | 国产精品美女久久久久久久久久久 | 免费无遮挡www小视频 | 中文字幕日韩一区二区三区 | 樱桃小丸子在线观看 | 密室大逃脱第六季大神版在线观看 | 黑人巨大精品欧美一区二区免费 | 国产精品久久嫩一区二区免费 | 少妇黄色一级片 | 亚洲欧美久久久 | 亚洲免费在线观看 | 国产精品三级久久久久久电影 | 国产精选一区二区三区不卡催乳 | 欧美激情专区 | 国产精品一区在线观看 | 三区在线视频 | 在线精品亚洲欧美日韩国产 | 国产 欧美 日韩 一区 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 日韩三级网 | 亚洲国产成人av好男人在线观看 | 久久九九国产 | 精品国产乱码久久久久久1区2区 | 日韩国产中文字幕 | 中文字幕av在线 | 久久久久久久久久毛片 | 久久国| 国产精品爱久久久久久久 | 97在线观看 | 亚洲免费精品 | 美日韩精品视频 | av男人天堂网 | 日韩超碰 | 国产精品国产成人国产三级 | 97超碰在线播放 | 久久国产区 | 国产精品7| 在线观看日韩精品 | 国产成在线观看免费视频 | 黄色片免费看. | 日日视频 | 久久美女视频 | 日本成人片网站 | 99精品久久久 | 国产视频第一页 | 国产精品自拍视频 | 日韩在线播放视频 | 欧美亚洲激情 | 久久激情五月丁香伊人 | 欧美精品第十页 | 日韩在线播放网址 | 亚洲黄色一区二区 | 精品久久久久久久久久久久久久 | 国家aaa的一级看片 h片在线看 | 999久久久国产精品 欧美成人h版在线观看 | 亚洲国产精品综合久久久 | 日韩在线资源 | 艹逼网 | 免费观看国产视频在线 | 国产精品久久久久一区二区三区 | 日本久久成人 | 日韩欧美国产精品 | 亚洲天堂一区二区 | 久久激情综合 | 成人看片免费网站 | 国产成人一区二区三区影院在线 | 免费一区二区 | 久久久av | 蜜臀精品久久久久久蜜臀 | zzzzyyyy精品国产 | 久久久久无码国产精品一区 | 中文字幕av一区二区三区 | 久久99精品视频 | 91精品国产综合久久久久久丝袜 | 色婷婷久久一区二区三区麻豆 | 久久久久久成人 | 中文在线一区二区 | 国产成人精品一区二区三区在线 | 欧美一级片在线观看 | 国产一区二| 久久草在线视频 | 亚洲成人精品网 | 三级精品 | av手机在线播放 | 亚洲精品乱码久久久久久蜜糖图片 | 亚洲 欧美日韩 国产 中文 | 欧美成年黄网站色视频 | 成人欧美一区二区 | 欧美精品一区二区三区视频 | 婷婷激情五月 | 美女久久 | 欧美午夜精品久久久久久蜜 | www久久精品| 久久xxx| 91久久夜色精品国产九色 | 91成人免费在线观看 | www.久久久| 天天拍天天干天天操 | 小情侣高清国产在线播放 | 中文字幕在线一区 | 日韩久久久 | 99精品国产高清一区二区麻豆 | 欧美日韩激情在线 | 国产成人免费视频网站高清观看视频 | 91电影在线 | 九九国产精品视频 | 天天影视网色香欲综合网无拦截 | 欧美xxxx色视频在线观看免费 | 狠狠久久婷婷 | 一区二区三区视频免费在线观看 | 欧美日韩不卡合集视频 | 久久久久国产成人精品亚洲午夜 | 成人免费av| 中文字幕亚洲一区二区va在线 | 国产亚洲精品成人av久久ww | 日韩在线精品视频 | 国产伦乱 | 国产视频一视频二 | 久久国产精品99久久久久久老狼 | 久久99久 | 日韩一区中文字幕 | 国产亚洲欧美精品永久 | 日韩色区| 国产精品视频一区二区三区四蜜臂 | 视频精品一区二区三区 | 午夜电影福利 | 欧美精品第一页 | 91在线视频观看 | 国产成人99久久亚洲综合精品 | 欧美一区二区三区视频 | 国产欧美日韩精品一区 | 婷婷色国产偷v国产偷v小说 | 亚洲视频欧美视频 | 欧美国产综合 | 中国大陆高清aⅴ毛片 | 国产精品一区二区av | 黄色片视频在线观看 | 国产成人精品免高潮在线观看 | 午夜影剧院| 国产一区二区观看 | 亚洲网站免费 | 国产亚洲精品久久久久久久久 | 羞羞视频在线观看入口 | 欧美日韩精品一区 | 美女国产 | 欧美日韩中文字幕在线 | 欧美激情在线播放 | av一区二区三区 | 欧美一区视频 | 国产九九精品视频 | 亚洲精选一区 | 欧美精品一区二 | av手机电影 | 97伦理电影院| 国产精品精品视频一区二区三区 | 日日干夜夜操 | 国产黄色免费视频 | 1区2区免费视频 | 在线观看成人小视频 | 久久99国产精品久久99大师 | 日本在线视频观看 | 国产午夜精品一区二区三区 | 欧美性猛交一区二区三区精品 | 日本a网 | 国产不卡视频在线观看 | 99免费在线播放99久久免费 | 中文字幕一二三 | 午夜影视免费观看 | 日韩久久久久久 | 日韩精品视频免费专区在线播放 | 青青久久北条麻妃 | 久久久久中文字幕 | 日韩精品一区二区在线观看 | 中文字幕日韩欧美 | 亚洲天天| 亚洲精品久久久久久一区二区 | 一级毛片免费观看 | 国产精品久久久久久久久久妇女 | 日韩免费网站 | 剑来高清在线观看 | 欧美日本免费一区二区三区 | 国产男女爽爽爽免费视频 | 日本a v网站 | av免费网站在线观看 | 国产日韩精品一区二区 | 99亚洲视频 | 成人免费网站视频 | 精品久 | 中文字幕综合在线 | 天天操狠狠操网站 | 精品久久久久久久久久久久 | 美女操网站 | 99精品久久久久久久免费看蜜月 | 国产精品久久久久久久久久 | 国产中文字幕一区二区三区 | 久久丁香| 每日更新av| 91精品国产综合久久福利软件 | 欧美黄色片免费观看 | 欧美一区二区三区在线观看视频 | 亚洲精品一区二区三区在线 | 亚洲午夜电影在线 | 免费观看黄a一级视频 | 最新伦理片 | 成人爽a毛片一区二区免费 亚洲自拍偷拍精品 | 日日操狠狠操 | 香蕉久久久 | 国产精品99久久久久久动医院 | 国产一级片儿 | 男女免费视频 | 综合久草 | 国产欧美综合一区二区三区 | 亚洲第一av | 久久福利 | 日韩精品一区二区三区视频播放 | 中文字幕视频 | 久久成人毛片 | 99在线免费视频 | 亚洲三级在线 | 国产福利电影一区 | 欧美激情a∨在线视频播放 成人免费共享视频 | 精品一区二区三区免费 | 亚洲一区二区在线播放 | 欧美精品一区二区三区免费视频 | 色婷婷av一区二区三区软件 | 久久久国产精品入口麻豆 | 国产视频久久久久 | 久久一二三四 | 久久99深爱久久99精品 | 91原创国产 | 中文字幕在线观看精品视频 | 性色av一区二区三区免费看开蚌 | 成人亚州| 99热精品在线 | 伊人网在线免费观看 | 日韩av免费在线播放 | 欧美精品乱码久久久久久按摩 | 欧美日本精品 | 超碰在线播 | 综合久久99 | 国产国拍亚洲精品av | 国产一区二区在线免费 | 亚洲午夜剧场 | 国产精品99久久久久久久vr | av中文在线 | xnxx 日本19 | 欧美日韩视频在线第一区 | 欧美在线观看一区 | 国产日韩一区 | 亚洲免费观看视频 | 国产精品无码久久久久 | 一区二区精品视频在线观看 | 国产成人一区 | 午夜影院在线观看视频 | 毛片com| 日日干天天操 | 草草久久久| 国产精品乱码久久 | 亚洲网站在线观看 | 国产深夜视频在线观看 | 成人免费毛片aaaaaa片 | 欧美久久久久久久久久伊人 | 色婷婷av久久久久久久 | 91婷婷射 | 国产成人精品一区二 | 亚洲毛片 | 久久久精品456亚洲影院 | 久久99一区 | 欧美一区二区三区四区五区 | 91捆绑91紧缚调教91 | h视频在线观看免费 | 高清中文字幕 | 午夜精品久久久久 | 精品国产乱码久久久久久久软件 | 观看av| 深夜av在线 | 人人人人澡 | 欧美日韩亚洲高清 | 成人精品一区 | 久久久日韩精品一区二区三区 | 国产探花在线精品一区二区 | 中文字幕一区在线观看 | 久久久xx | 国产亚洲欧美一区 | 日韩精品一区二区三区 | 国产免费久久 | 亚洲第一免费网站 | 国产中文字幕亚洲 | 国产精品久久久久久久久久久久久久 | 久久久久久久国产 | 美女久久久久久久久久久 | 成人一区视频 | 欧美性网 | 久久久久久久国产 | 欧美精品亚洲精品日韩精品 | 午夜久久久| 国产精品成人一区二区 | 国产精品久久久久久久久久大牛 | 91精品国产综合久久精品 | 国产精品视频网站 | 91春色| 亚洲视频在线免费观看 | 欧美精品理论片大全 | 国产黄色在线免费看 | 国产精品亚洲综合 | 一区二区中文字幕 | 欧美人体一区二区三区 | 毛片在线看片 | 欧美在线a | 久久女同互慰一区二区三区 | 欧美精品福利视频 | 日韩欧美在线观看一区二区三区 |