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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

核心技术靠化缘是要不来的——自己动手写ORM框架

發(fā)布時間:2023/12/15 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 核心技术靠化缘是要不来的——自己动手写ORM框架 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開源市場上的Java的ORM框架一個都不好用,所以花了幾天時間自己擼了一個 OrmKids,歡迎大家下載學(xué)習(xí)。遇到問題請關(guān)注公眾號進(jìn)群大家一起討論。

OrmKids

支持分庫分表的MySQL單表ORM框架,暫用于學(xué)習(xí),后續(xù)會在生產(chǎn)環(huán)境進(jìn)行檢驗

功能特性

  • 代碼簡潔,沒有任何依賴項,除了使用時需要用到MySQL driver
  • 易于使用,無須復(fù)雜的配置
  • 提供自動創(chuàng)建表功能
  • 支持分庫又分表,可以只分庫,也可以只分表
  • 支持groupby/having
  • 支持原生SQL
  • 支持事件回調(diào),可用于服務(wù)跟蹤調(diào)試和動態(tài)sql改寫
  • 不支持多表關(guān)聯(lián)

  • 多表比較復(fù)雜,實現(xiàn)成本高,學(xué)習(xí)成本也高,容易出錯
  • 常用的多表的操作一般都可以使用多條單表操作組合實現(xiàn)
  • 在分庫分表的場合,很少使用多表操作
  • 不使用外鍵,專注于sql邏輯
  • db.withinTx

    對于復(fù)雜的多表查詢和批量數(shù)據(jù)處理,可以使用該方法。 用戶可以獲得原生的jdbc鏈接,通過編寫jdbc代碼來實現(xiàn)。

    Q

    用戶可以使用Q對象構(gòu)建復(fù)雜的SQL查詢

    其它數(shù)據(jù)庫支持

    暫時沒有

    實體接口

    /*** 所有的實體類必須實現(xiàn)該接口*/ public interface IEntity {/*** 表名* @return*/String table();/*** 分表必須覆蓋此方法* @return*/default String suffix() {return null;}default String tableWithSuffix() {return tableWith(suffix());}default String tableWith(String suffix) {return Utils.tableWithSuffix(table(), suffix);}/*** 定義表的物理結(jié)構(gòu)屬性如engine=innodb,用于動態(tài)創(chuàng)建表* @return*/TableOptions options();/*** 定義表的主鍵和索引信息,用于動態(tài)創(chuàng)建表* @return*/TableIndices indices();} 復(fù)制代碼

    單表單主鍵

    @Table public class User implements IEntity {@Column(name = "id", type = "int", autoincrement = true, nullable = false)private Integer id;@Column(name = "name", type = "varchar(255)", nullable = false)private String name;@Column(name = "nick", type = "varchar(255)", nullable = false)private String nick;@Column(name = "passwd", type = "varchar(255)")private String passwd;@Column(name = "created_at", type = "datetime", nullable = false, defaultValue = "now()")private Date createdAt;public User() {}public User(String name, String nick, String passwd) {this.name = name;this.nick = nick;this.passwd = passwd;}public Integer getId() {return id;}public String getName() {return name;}public String getNick() {return nick;}public String getPasswd() {return passwd;}public Date getCreatedAt() {return createdAt;}@Overridepublic TableOptions options() {return new TableOptions().option("engine", "innodb");}@Overridepublic TableIndices indices() {return new TableIndices().primary("id").unique("name");}@Overridepublic String table() {return "user";}}復(fù)制代碼

    單表復(fù)合主鍵

    @Table public class Member implements IEntity {@Column(name = "user_id", type = "int", nullable = false)private Integer userId;@Column(name = "group_id", type = "int", nullable = false)private Integer groupId;@Column(name = "title", type = "varchar(255)")private String title;@Column(name = "created_at", type = "datetime", nullable = false, defaultValue = "now()")private Date createdAt;public Member() {}public Member(Integer userId, Integer groupId, String title, Date createdAt) {this.userId = userId;this.groupId = groupId;this.title = title;this.createdAt = createdAt;}public Integer getUserId() {return userId;}public Integer getGroupId() {return groupId;}public String getTitle() {return title;}public Date getCreatedAt() {return createdAt;}@Overridepublic TableOptions options() {return new TableOptions().option("engine", "innodb");}@Overridepublic TableIndices indices() {return new TableIndices().primary("user_id", "group_id");}@Overridepublic String table() {return "member";}} 復(fù)制代碼

    分庫接口

    public interface IGridable<T extends IEntity> {/*** 根據(jù)實體對象選擇分庫索引*/int select(int dbs, T t);/*** 根據(jù)特定參數(shù)選擇分庫索引*/int select(int dbs, Object... params);} 復(fù)制代碼

    分庫分表

    @Table public class BookShelf implements IEntity {public final static int PARTITIONS = 4;@Column(name = "user_id", type = "varchar(255)", nullable = false)private String userId;@Column(name = "book_id", type = "varchar(255)", nullable = false)private String bookId;@Column(name = "comment", type = "varchar(255)")private String comment;@Column(name = "created_at", type = "datetime", nullable = false, defaultValue = "now()")private Date createdAt;public BookShelf() {}public BookShelf(String userId, String bookId, String comment, Date createdAt) {this.userId = userId;this.bookId = bookId;this.comment = comment;this.createdAt = createdAt;}public String getUserId() {return userId;}public String getBookId() {return bookId;}public void setComment(String comment) {this.comment = comment;}public String getComment() {return comment;}public Date getCreatedAt() {return createdAt;}@Overridepublic String table() {return "book_shelf";}@Overridepublic TableOptions options() {return new TableOptions().option("engine", "innodb");}@Overridepublic TableIndices indices() {return new TableIndices().primary("user_id", "book_id");}/* * 分表策略*/@Overridepublic String suffix() {var crc32 = new CRC32();crc32.update(userId.getBytes(Utils.UTF8));return String.valueOf(Math.abs(crc32.getValue()) % PARTITIONS);}/*** 分庫策略*/public static class GridStrategy<D extends DB> implements IGridable<BookShelf> {@Overridepublic int select(int dbs, BookShelf t) {return Math.abs(t.getUserId().hashCode()) % dbs;}@Overridepublic int select(int dbs, Object... params) {String userId = (String) params[0];return Math.abs(userId.hashCode()) % dbs;}}} 復(fù)制代碼

    定義單個數(shù)據(jù)庫

    public class DemoDB extends DB {private DataSource ds;public DemoDB(String name, String uri) {this(name, new HashMap<>(), uri);}public DemoDB(String name, Map<Class<? extends IEntity>, Meta> metas, String uri) {super(name, metas);var ds = new MysqlConnectionPoolDataSource(); // 連接池ds.setUrl(uri);this.ds = ds;}@Overrideprotected Connection conn() { // 獲取鏈接try {return ds.getConnection();} catch (SQLException e) {throw new KidsException(e);}}} 復(fù)制代碼

    定義網(wǎng)格數(shù)據(jù)庫——分庫

    public class GridDemoDB extends GridDB<DemoDB> {/*** 傳進(jìn)來多個DB對象*/public GridDemoDB(DemoDB[] dbs) {super(dbs);this.registerGridables();}/* * 注冊實體類的分庫策略*/@Overridepublic void registerGridables() {this.gridWith(BookShelf.class, new BookShelf.GridStrategy<DemoDB>());}}復(fù)制代碼

    單表單主鍵增刪改查

    public class DemoSimplePk {private final static String URI = "jdbc:mysql://localhost:3306/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8";public static void main(String[] args) {var db = new DemoDB("demo", URI);try {db.create(User.class); // 創(chuàng)建表var user = new User("test1", "nick1", "passwd1");db.insert(user); // 插入System.out.println(user.getId());user = db.get(User.class, user.getId()); // 主鍵查詢System.out.printf("%s %s %s %s %s\n", user.getId(), user.getName(), user.getNick(), user.getPasswd(),user.getCreatedAt());user = new User("test2", "nick2", "passwd2");db.insert(user); // 再插入var count = db.count(User.class); // 查詢總行數(shù)System.out.println(count);var users = db.find(User.class); // 列出所有行System.out.println(users.size());for (var u : users) {System.out.printf("%s %s %s %s %s\n", u.getId(), u.getName(), u.getNick(), u.getPasswd(),u.getCreatedAt());}users = db.find(User.class, Q.eq_("nick"), "nick2"); // 條件查詢System.out.println(users.size());var setters = new HashMap<String, Object>();setters.put("passwd", "whatever");db.update(User.class, setters, 2); // 修改users = db.find(User.class); // 再列出所有行System.out.println(users.size());for (var u : users) {System.out.printf("%s %s %s %s %s\n", u.getId(), u.getName(), u.getNick(), u.getPasswd(),u.getCreatedAt());}db.delete(User.class, 1); // 刪除db.delete(User.class, 2); // 再刪除count = db.count(User.class); // 統(tǒng)計所有行System.out.println(count);} finally {db.drop(User.class); // 刪除表}}} 復(fù)制代碼

    單表復(fù)合主鍵增刪改查

    public class DemoCompoundPk {private final static String URI = "jdbc:mysql://localhost:3306/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8";public static void main(String[] args) {var db = new DemoDB("demo", URI);try {db.create(Member.class); // 建表var member = new Member(1, 2, "boss", null);db.insert(member); // 插入member = db.get(Member.class, 1, 2); // 主鍵查詢System.out.println(member.getTitle());member = new Member(2, 2, "manager", new Date());db.insert(member); // 再插入var count = db.count(Member.class); // 獲取總行數(shù) System.out.println(count);var members = db.find(Member.class); // 獲取全部行for (var m : members) {System.out.printf("%d %d %s %s\n", m.getUserId(), m.getGroupId(), m.getTitle(), m.getCreatedAt());}member = new Member(2, 3, "manager", new Date());db.insert(member); // 再插入members = db.find(Member.class, Q.eq_("group_id"), 2); // 條件查詢for (var m : members) {System.out.printf("%d %d %s %s\n", m.getUserId(), m.getGroupId(), m.getTitle(), m.getCreatedAt());}var setters = new HashMap<String, Object>();setters.put("title", "employee");db.update(Member.class, setters, 2, 3); // 修改member = db.get(Member.class, 2, 3); // 主鍵查詢System.out.println(member.getTitle());db.delete(Member.class, 1, 2); // 刪除db.delete(Member.class, 2, 2); // 刪除db.delete(Member.class, 2, 3); // 刪除count = db.count(Member.class); // 再獲取總行數(shù)System.out.println(count);} finally {db.drop(Member.class); // 刪表}}} 復(fù)制代碼

    復(fù)雜查詢

    public class DemoComplexQuery {private final static String URI = "jdbc:mysql://localhost:3306/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8";public static void main(String[] args) {var db = new DemoDB("demo", URI);try {db.create(Exam.class); // 建表var random = new Random();for (var i = 0; i < 100; i++) {var userId = Math.abs(random.nextLong());var exam = new Exam(userId, random.nextInt(100), random.nextInt(100), random.nextInt(100),random.nextInt(100), random.nextInt(100), random.nextInt(100));db.insert(exam); // 插入}System.out.println(db.count(Exam.class)); // 查詢總行數(shù)// math >= 50var exams = db.find(Exam.class, Q.ge_("math"), 50); // 條件查詢System.out.println(exams.size());var count = db.count(Exam.class, Q.ge_("math"), 50); // 條件總行數(shù)System.out.println(count);// math > 50 & english >= 50exams = db.find(Exam.class, Q.and(Q.gt_("math"), Q.ge_("english")), 50, 50); // 條件查詢System.out.println(exams.size());count = db.count(Exam.class, Q.and(Q.gt_("math"), Q.ge_("english")), 50, 50); // 條件總行數(shù)System.out.println(count);// math > 50 || english >= 50exams = db.find(Exam.class, Q.or(Q.gt_("math"), Q.ge_("english")), 50, 50); // 條件查詢System.out.println(exams.size());count = db.count(Exam.class, Q.or(Q.gt_("math"), Q.ge_("english")), 50, 50); // 條件總行數(shù)System.out.println(count);// math > 50 && (english >= 50 || chinese > 60)exams = db.find(Exam.class, Q.and(Q.gt_("math"), Q.or(Q.ge_("english"), Q.gt_("chinese"))), 50, 50, 60); // 條件查詢System.out.println(exams.size());count = db.count(Exam.class, Q.and(Q.gt_("math"), Q.or(Q.ge_("english"), Q.gt_("chinese"))), 50, 50, 60); // 條件總行數(shù)System.out.println(count);// math > 50 || physics between 60 and 80 || chemistry < 60exams = db.find(Exam.class, Q.or(Q.gt_("math"), Q.between_("physics"), Q.lt_("chemistry")), 50, 60, 80, 60); // 條件查詢System.out.println(exams.size());count = db.count(Exam.class, Q.or(Q.gt_("math"), Q.between_("physics"), Q.lt_("chemistry")), 50, 60, 80,60); // 條件總行數(shù)System.out.println(count);// group by math / 10var q = Q.select().field("(math div 10) * 10 as mathx", "count(1)").table("exam").groupBy("mathx").having(Q.gt_("count(1)")).orderBy("count(1)", "desc"); // 復(fù)雜sql構(gòu)造var rank = new LinkedHashMap<Integer, Integer>();db.any(Exam.class, q, stmt -> { // 原生sql查詢stmt.setInt(1, 0);ResultSet rs = stmt.executeQuery();while (rs.next()) {rank.put(rs.getInt(1), rs.getInt(2));}return rs;});rank.forEach((mathx, c) -> {System.out.printf("[%d-%d) = %d\n", mathx, mathx + 10, c);});} finally {db.drop(Exam.class);}}} 復(fù)制代碼

    分表

    public class DemoPartitioning {private final static String URI = "jdbc:mysql://localhost:3306/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8";public static void main(String[] args) {var db = new DemoDB("demo", URI);try {for (int i = 0; i < BookShelf.PARTITIONS; i++) {db.create(BookShelf.class, String.valueOf(i)); // 創(chuàng)建所有分表}var bss = new ArrayList<BookShelf>();for (int i = 0; i < 100; i++) {var bs = new BookShelf("user" + i, "book" + i, "comment" + i, new Date());bss.add(bs);db.insert(bs); // 插入,自動插入相應(yīng)分表}for (int i = 0; i < BookShelf.PARTITIONS; i++) {System.out.printf("partition %d count %d\n", i, db.count(BookShelf.class, String.valueOf(i)));}Random random = new Random();for (var bs : bss) {bs.setComment("comment_update_" + random.nextInt(100));db.update(bs); // 更新,自動更新相應(yīng)分表數(shù)據(jù)}bss = new ArrayList<BookShelf>();for (int i = 0; i < BookShelf.PARTITIONS; i++) {bss.addAll(db.find(BookShelf.class, String.valueOf(i))); // 指定分表列出所有行}for (var bs : bss) {System.out.println(bs.getComment());}for (var bs : bss) {db.delete(bs); // 挨個刪除,自動刪除相應(yīng)分表數(shù)據(jù)}} finally {for (int i = 0; i < BookShelf.PARTITIONS; i++) {db.drop(BookShelf.class, String.valueOf(i)); // 刪除所有分表}}}} 復(fù)制代碼

    分庫

    public class DemoSharding {private static DemoDB[] dbs = new DemoDB[3];static {Map<Class<? extends IEntity>, Meta> metas = new HashMap<>();dbs[0] = new DemoDB("demo-0", metas,"jdbc:mysql://localhost:3306/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8");dbs[1] = new DemoDB("demo-1", metas,"jdbc:mysql://localhost:3307/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8");dbs[2] = new DemoDB("demo-2", metas,"jdbc:mysql://localhost:3308/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8");}public static void main(String[] args) {var grid = new GridDemoDB(dbs); // 構(gòu)造Grid實例try {for (int k = 0; k < BookShelf.PARTITIONS; k++) {grid.create(BookShelf.class, String.valueOf(k)); // 創(chuàng)建所有分庫中的分表}var bss = new ArrayList<BookShelf>();for (int i = 0; i < 100; i++) {var bs = new BookShelf("user" + i, "book" + i, "comment" + i, new Date());bss.add(bs);grid.insert(bs); // 插入,自動分發(fā)到相應(yīng)的分庫中的分表}for (int k = 0; k < grid.size(); k++) {for (int i = 0; i < BookShelf.PARTITIONS; i++) {System.out.printf("db %d partition %d count %d\n", k, i,grid.count(BookShelf.class, k, String.valueOf(i))); // 依次查詢出所有分庫的分表的行數(shù)}}Random random = new Random();for (var bs : bss) {bs.setComment("comment_update_" + random.nextInt(100));grid.update(bs); // 更新,自動分發(fā)到相應(yīng)的分庫中的分表}for (var bs : bss) {bs = grid.get(BookShelf.class, bs.getUserId(), bs.getBookId()); // 主鍵查詢,自動分發(fā)到相應(yīng)的分庫中的分表System.out.println(bs.getComment());}for (var bs : bss) {grid.delete(bs); // 刪除,自動分發(fā)到相應(yīng)的分庫中的分表}for (int k = 0; k < grid.size(); k++) {for (int i = 0; i < BookShelf.PARTITIONS; i++) {System.out.printf("db %d partition %d count %d\n", k, i,grid.count(BookShelf.class, k, String.valueOf(i))); // 依次查詢出所有分庫的分表的行數(shù)}}} finally {for (int k = 0; k < BookShelf.PARTITIONS; k++) {grid.drop(BookShelf.class, String.valueOf(k)); // 刪除所有分庫中的分表}}}} 復(fù)制代碼

    事件上下文對象

    public class Context {private DB db; // 數(shù)據(jù)庫實例private Connection conn; // 當(dāng)前的鏈接private Class<? extends IEntity> clazz; // 當(dāng)前的實體類private Q q; // 查詢sqlprivate Object[] values; // 查詢的綁定參數(shù)private boolean before; // before or afterprivate Exception error; // 異常private long duration; // 耗時microsecond} 復(fù)制代碼

    事件回調(diào)

    public class DemoEvent {private final static String URI = "jdbc:mysql://localhost:3306/mydrc?user=mydrc&password=mydrc&useUnicode=true&characterEncoding=UTF8";public static void main(String[] args) {var db = new DemoDB("demo", URI);db.on(ctx -> { // 全局事件回調(diào)System.out.printf("db=%s sql=%s cost=%dus\n", ctx.db().name(), ctx.q().sql(), ctx.duration());return true; // 返回false會導(dǎo)致事件鏈終止,后續(xù)的ORM操作也不會執(zhí)行});try {db.create(User.class);db.scope(ctx -> { // 范圍回調(diào),execute方法內(nèi)部的所有ORM操作都會回調(diào)System.out.printf("db=%s sql=%s cost=%dus\n", ctx.db().name(), ctx.q().sql(), ctx.duration());return true;}).execute(() -> {db.count(User.class);db.find(User.class);});} finally {db.drop(User.class); // 刪除表}}} 復(fù)制代碼

    總結(jié)

    以上是生活随笔為你收集整理的核心技术靠化缘是要不来的——自己动手写ORM框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    国产精品久久一 | 1000部国产精品成人观看 | 91香蕉国产在线观看软件 | 免费日韩一级片 | 国产免费观看久久 | 中文字幕国产在线 | 欧美日韩1区 | 亚洲狠狠操 | 亚洲精品456在线播放乱码 | 久草免费电影 | 国产精品色 | 99久久久国产精品美女 | 久久久久高清毛片一级 | 亚洲婷婷伊人 | 亚州激情视频 | 亚洲一级电影视频 | 日韩极品在线 | 一本一本久久a久久精品综合妖精 | 不卡的av片 | 欧美一级在线观看视频 | 91亚洲精品久久久蜜桃借种 | 日本三级香港三级人妇99 | 91视频91色 | 精品久久久久久久久中文字幕 | 在线观看黄色av | 碰超人人 | 91日韩在线专区 | 青青久视频 | 欧美做受高潮1 | 99精品视频免费观看 | 国产成人一区二区三区免费看 | 欧美精品久久久久久久久久久 | 久久无码精品一区二区三区 | 99精品免费 | 国产999精品久久久久久 | 亚洲精品美女免费 | 一区二区三区四区在线免费观看 | 狠狠色丁香 | 久久看免费视频 | 97精品久久人人爽人人爽 | av三级在线播放 | 综合精品在线 | 国模一区二区三区四区 | 黄色影院在线免费观看 | 天天搞天天干天天色 | 98久久| 久久精品5 | 欧美另类一二三四区 | 色综合久久久久综合体桃花网 | 久久99国产精品久久99 | 免费福利视频网 | 久久av影院| 亚洲第一区在线观看 | 在线免费观看羞羞视频 | 国产亚洲精品久久久久久久久久久久 | 在线观看aa | 天天看天天操 | 97超碰人| 一区二区三区电影 | 99久久网站 | 国产 日韩 欧美 在线 | 四虎国产| 黄污视频大全 | 91丨九色丨91啦蝌蚪老版 | 91亚洲精品久久久 | 国产97免费| 激情五月综合网 | 国产 日韩 在线 亚洲 字幕 中文 | 91在线播放视频 | 亚洲黄色av网址 | 国产美女搞久久 | 久久精品国产v日韩v亚洲 | 国产日韩精品一区二区三区 | 精品国产aⅴ麻豆 | 最近av在线 | 国产精品免费观看在线 | 五月婷婷丁香色 | 亚洲最快最全在线视频 | 日韩大片免费在线观看 | 久久免费视频这里只有精品 | 日韩午夜三级 | 在线观看麻豆av | 亚洲男男gaygayxxxgv | 免费三级a | 中文乱幕日产无线码1区 | 九色精品 | 国产亚洲日 | 国产 视频 久久 | 天天操天天色天天 | 91视频高清免费 | 精品福利网站 | 五月婷婷一区 | 天天天干 | 99热手机在线 | 久久99热精品这里久久精品 | 黄色片软件网站 | 蜜臀av夜夜澡人人爽人人 | 91在线网址 | 999视频在线观看 | 午夜av日韩| 四虎最新域名 | 午夜精品一区二区三区在线视频 | 久久精品欧美一区 | 91一区在线观看 | 亚洲日本韩国一区二区 | 亚洲免费在线观看视频 | 久久精品一二三区白丝高潮 | 国产精品麻豆视频 | 激情丁香综合五月 | 国产高清在线观看 | 成年人免费在线观看网站 | 成人一级免费视频 | 亚洲国产欧美在线人成大黄瓜 | 三上悠亚一区二区在线观看 | 亚洲激情综合网 | 中文字幕影片免费在线观看 | 亚洲精品在线免费 | 日韩一二区在线观看 | 波多野结衣视频一区 | 日韩超碰在线 | 99久久久| 色www永久免费 | 伊人色综合网 | 超碰在线99 | 欧美精品在线免费 | 亚洲精品国产精品久久99 | 免费看的毛片 | 九七人人干 | av 在线观看 | 日韩电影黄色 | 欧美日韩一区二区视频在线观看 | 美女久久久久久久久久久 | 一区二区三区在线视频111 | 丁香五月缴情综合网 | 美女视频黄频大全免费 | 黄色aaaaa | 伊人久久av | 天堂在线一区二区三区 | av电影不卡在线 | 91在线视频免费播放 | 国产亚洲免费的视频看 | 成人久久久电影 | 日韩欧美视频免费看 | 欧美视屏一区二区 | 四虎在线免费 | 激情网站五月天 | www黄免费 | 日韩国产精品毛片 | 国产精品久久久区三区天天噜 | 欧美成a人片在线观看久 | 国产精品高清在线观看 | 国产精品免费视频网站 | 国产精彩视频一区二区 | 色婷婷综合久色 | 成人久久18免费网站图片 | 97超碰人人澡人人 | 亚洲成人一区 | 国产麻豆精品一区二区 | 国产一二三四在线观看视频 | 伊人婷婷在线 | 成年人免费在线 | 99精品国产成人一区二区 | 黄色软件大全网站 | 亚洲 欧美 变态 国产 另类 | 国产一区精品在线观看 | 成年人黄色在线观看 | 欧美性色黄大片在线观看 | 青青网视频 | 亚州欧美视频 | 狠狠操综合网 | 综合久久网 | 精品国产免费观看 | 亚洲国产一区在线观看 | 久久久久国产精品视频 | 色综合久久久久久中文网 | 曰韩精品| 中文字幕在线观看免费 | 久久久免费电影 | 久草精品视频在线看网站免费 | 亚洲一区日韩精品 | 日韩av电影一区 | 国产va饥渴难耐女保洁员在线观看 | 日韩特级黄色片 | 免费在线观看一级片 | 久久免费黄色大片 | 日本久久久久 | 成年在线观看 | 人人干人人艹 | 国产香蕉久久 | 精品久久久免费视频 | 日本不卡视频 | 亚洲丁香久久久 | 国产一区二区三区网站 | 成人黄色电影在线观看 | 日韩最新在线视频 | 日本久久中文字幕 | 久久成人午夜视频 | 精品欧美在线视频 | 蜜臀av性久久久久蜜臀av | 黄色精品国产 | av再线观看 | 天天搞天天干 | av在线之家电影网站 | 999视频精品 | 亚洲成人av一区二区 | 99在线热播精品免费99热 | 亚洲色影爱久久精品 | 亚洲欧美色婷婷 | 精品国产伦一区二区三区观看说明 | 精品毛片久久久久久 | 亚洲视频 一区 | 91福利在线导航 | 国产大尺度视频 | 97超碰在线资源 | 青青河边草手机免费 | 久久视频在线观看 | 成人精品亚洲 | 在线精品在线 | 最近中文字幕在线中文高清版 | 激情视频在线高清看 | 91久久久国产精品 | 久久草网 | 中文字幕一区二区三区久久蜜桃 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产一级电影在线 | 日日干 天天干 | 天天天干 | 日韩欧美网址 | 国产精品亚州 | 久久久久免费 | 激情网站五月天 | 草在线| 日韩免费高清在线 | 国产三级国产精品国产专区50 | 香蕉影院在线播放 | 中文永久字幕 | 亚洲精品456在线播放乱码 | 国产一区二区在线观看免费 | 日韩欧美视频一区二区三区 | 久久97视频| 91精品999 | 九九九视频精品 | 国产一级三级 | 亚av在线 | 最近av在线| 99国内精品久久久久久久 | 手机av在线网站 | 在线观看av不卡 | 久久天天躁狠狠躁亚洲综合公司 | 国产小视频91 | 中文字幕av最新更新 | 永久免费的啪啪网站免费观看浪潮 | 久久99久久99精品中文字幕 | 国产精品日韩在线播放 | 午夜精选视频 | 99久久久久成人国产免费 | 六月激情婷婷 | 亚洲成av片人久久久 | 日本电影黄色 | 日日干,天天干 | 亚洲精品视频在线观看免费视频 | 亚洲黄色免费在线看 | 久久艹国产 | 欧美成人tv| 久久久18 | 国产一级片一区二区三区 | av电影中文字幕 | 中文字幕日本在线 | 午夜久久久久久久久久影院 | 在线观看国产麻豆 | 国内精品久久久久久久久久清纯 | 亚洲精品乱码久久久久久按摩 | 久久久蜜桃一区二区 | 欧美精品久久久久久久久久 | 国产日韩精品一区二区三区在线 | 99视频精品免费视频 | 亚洲精品在线资源 | 久久亚洲二区 | 日韩在线免费播放 | 精品国产伦一区二区三区观看方式 | 五月网婷婷 | 精品久久久久亚洲 | 国产色视频网站2 | 国产特黄色片 | 亚洲自拍偷拍色图 | 久久久精品在线观看 | 精品国产一二区 | 国内精品久久久久久久97牛牛 | 狠狠ri| 色噜噜狠狠色综合中国 | 欧美美女一级片 | 久久综合九色综合97婷婷女人 | 99综合影院在线 | 插综合网| 国产精品永久在线观看 | av福利在线免费观看 | 国产精品黑丝在线观看 | 免费在线播放黄色 | 国产69精品久久久久99尤 | 中文字幕av在线不卡 | 天天插天天操天天干 | 碰超在线观看 | 黄色aaaaa| 视频在线日韩 | 中文字幕中文字幕在线一区 | 开心激情婷婷 | 亚洲视频高清 | 懂色av懂色av粉嫩av分享吧 | 国产日韩在线观看一区 | 色噜噜在线观看视频 | 日韩有码第一页 | 久久不射网站 | 日韩区在线观看 | 久久99视频精品 | 四虎国产永久在线精品 | 亚洲电影院 | 夜夜爽天天爽 | 青草视频在线 | 丝袜制服天堂 | 在线观看免费视频你懂的 | 精品在线免费观看 | 欧美日韩高清一区二区三区 | 婷婷色综| 一区在线观看 | www欧美xxxx | 国产视频日本 | av黄色国产 | 天天干天天看 | 色爱区综合激月婷婷 | 成人免费在线看片 | 手机色在线 | 99精品视频在线观看视频 | 九九久久久久久久久激情 | 亚洲女人av | 黄色在线免费观看网站 | 日韩av电影免费观看 | 亚洲精品在线国产 | 久久久久久久av | 国产美女在线精品免费观看 | 成人在线黄色 | 国产日韩高清在线 | 国产精品福利午夜在线观看 | 久久久久久久久毛片 | 欧美极品xxxxx | 天天草天天干天天 | 黄色av电影一级片 | 在线观看国产亚洲 | 在线观看日本高清mv视频 | 天堂在线视频中文网 | 激情影音 | 日韩中文在线播放 | 久久国产精彩视频 | 人人爽人人爽人人爽学生一级 | 在线 欧美 日韩 | 最新国产在线观看 | 亚洲精品欧洲精品 | 天天做天天爱天天综合网 | 97成人免费视频 | 精品久久久久久久久中文字幕 | 韩日精品在线观看 | 人人干干人人 | 成人黄色大片 | 久久av在线播放 | 免费成人av在线看 | 亚洲成人av一区 | 日产乱码一二三区别在线 | 久久99国产精品视频 | 怡红院成人在线 | 国产特级毛片aaaaaa | 成年人在线免费看视频 | 亚州精品天堂中文字幕 | 911国产在线观看 | 国产一区不卡在线 | 五月宗合网| 黄色成人小视频 | 91大神在线观看视频 | 国产 精品 资源 | 成人在线视频观看 | 一区在线播放 | 久久99婷婷 | 天天色.com| 免费性网站 | 久久综合九色综合97婷婷女人 | 久久伊人八月婷婷综合激情 | av黄色大片 | 天堂av官网 | 在线午夜 | 亚洲精品在线视频网站 | 国内精品久久久久 | 在线国产黄色 | 五月天亚洲激情 | 精品在线视频播放 | 国产精品igao视频网入口 | 天堂在线v | 久久久免费视频播放 | 欧美aⅴ在线观看 | 久久人网 | 免费情缘 | 欧美日韩在线视频一区 | 久久久久免费精品国产小说色大师 | 国产高清免费在线播放 | 久久躁日日躁aaaaxxxx | 中文字幕在线看视频国产中文版 | 日韩视频在线播放 | 一本一本久久a久久精品牛牛影视 | 中文字幕首页 | 香蕉视频最新网址 | 99久久电影 | 国产欧美在线一区 | a天堂一码二码专区 | 色综合久久综合中文综合网 | 欧美激情视频在线观看免费 | 91免费观看 | 久草香蕉在线视频 | 久久99久久99免费视频 | 人人涩| 日韩两性视频 | 日本少妇高清做爰视频 | 亚洲一二区精品 | 久久综合激情 | 伊人五月综合 | 青草视频在线看 | 17婷婷久久www | 最新日韩在线观看视频 | 91亚洲精品久久久蜜桃借种 | 奇米影音四色 | 亚洲精品中文在线 | 99色在线 | 日韩精品1区2区 | 久久人人爽爽人人爽人人片av | 国产精品毛片一区视频播 | 五月婷婷中文 | 国产精品3区 | 国产精品自产拍在线观看 | 亚洲精品午夜aaa久久久 | 国产一区二区在线免费播放 | 91av蜜桃| 日本aa在线 | 国产精品6999成人免费视频 | 91看片淫黄大片一级在线观看 | 曰韩精品| www.av免费 | 日韩一区二区在线免费观看 | 日韩在线 | 国产日韩欧美在线观看 | 久久久久国产成人精品亚洲午夜 | 波多野结衣在线观看视频 | 97超碰人人 | 狠狠婷婷| 永久免费的av电影 | 日韩手机在线观看 | 99在线观看免费视频精品观看 | 日韩av电影中文字幕在线观看 | 亚洲电影在线看 | 免费福利片 | 国产免费午夜 | 欧美日韩99 | 亚洲蜜桃在线 | 五月婷在线观看 | 91精品1区2区| 久久精品久久精品久久 | 97香蕉超级碰碰久久免费软件 | 亚洲视频观看 | 丝袜美女在线观看 | 成人午夜电影在线观看 | 99视频精品在线 | www.日本色 | 国产成人久久av免费高清密臂 | 久久中文视频 | 成人免费网站视频 | 国内视频一区二区 | 天堂av在线 | 插婷婷| 国产精品aⅴ | 欧美精品久久久久久久免费 | 国产免费观看久久 | 亚洲精品1区2区3区 超碰成人网 | 草在线| 激情动态 | 国产成人精品av | 亚洲精品久久久久www | 免费亚洲精品 | 亚洲aⅴ久久精品 | 九九热在线精品视频 | 在线观看日韩精品视频 | 99视频一区 | 亚洲成年人av | 麻豆综合网 | 久久综合激情 | 亚洲精品成人在线 | 免费视频久久久久久久 | 天天射天天艹 | 国产高清不卡一区二区三区 | 在线亚洲精品 | 国产精品美女久久久久久久久久久 | 久久av网| 97伊人网| 亚洲少妇激情 | 欧美日韩视频网站 | av一本久道久久波多野结衣 | 亚洲精品午夜国产va久久成人 | 免费av一级电影 | 亚洲免费av观看 | 国产又粗又硬又长又爽的视频 | 国产精品黄色影片导航在线观看 | 九精品| 999久久国产精品免费观看网站 | 国产亚洲精品久久19p | 一区二区中文字幕在线观看 | 久久久久久久看片 | 亚洲免费在线播放视频 | 中文字幕首页 | 国产一卡二卡四卡国 | 91精品国产综合久久婷婷香蕉 | 成人免费视频播放 | 国产成人av片 | 亚洲精品视频一二三 | 五月婷婷久 | 黄色大片网| 中文字幕精品一区二区三区电影 | 又长又大又黑又粗欧美 | 激情视频一区二区三区 | 日韩精品欧美精品 | 国产最新视频在线 | 天天爽天天爽天天爽 | 伊人天天操 | 日韩精品字幕 | 操操操人人人 | 美女免费视频一区二区 | av一级免费| 亚洲激情校园春色 | 日韩av网页 | 精品国产精品国产偷麻豆 | 成人app在线播放 | 久久免费视频网 | 久久手机在线视频 | 国产精品免费视频一区二区 | 亚洲国产精品999 | 日韩一区正在播放 | 91麻豆精品91久久久久同性 | 亚洲深爱激情 | 国产老太婆免费交性大片 | 精品视频97 | 99草视频在线观看 | 久久任你操 | 99精品免费| 超碰免费在线公开 | 中文字幕久久精品亚洲乱码 | 国产综合婷婷 | 免费亚洲黄色 | 麻豆视频免费网站 | 玖玖爱在线观看 | 能在线观看的日韩av | 五月天激情开心 | 亚洲免费在线观看视频 | 欧美日韩成人 | 精品视频国产 | 国产黄在线 | 久久视奸| 久久久一本精品99久久精品66 | 国产精品伦一区二区三区视频 | 国产偷v国产偷∨精品视频 在线草 | 午夜18视频在线观看 | 日韩久久午夜一级啪啪 | 奇米影视8888 | 91九色免费视频 | 欧美一级乱黄 | 国产污视频在线观看 | 天天操天天操天天操天天操天天操 | 色综合中文字幕 | 免费在线观看日韩欧美 | 国产精品午夜8888 | 91av在线看| 国产成人综合在线观看 | 日韩av中文字幕在线 | 中文字幕日韩一区二区三区不卡 | 草樱av | 国产精品一区二区在线观看 | 最新国产精品拍自在线播放 | 亚洲成人av在线播放 | 亚洲伊人网在线观看 | 亚洲午夜精品久久久久久久久久久久 | 最近2019年日本中文免费字幕 | 久久精品日韩 | 麻豆影视在线免费观看 | 黄色软件在线观看视频 | 在线观看91精品国产网站 | 综合天堂av久久久久久久 | 91污污| 日韩aⅴ视频 | 日韩视频中文字幕在线观看 | 小草av在线播放 | 国产在线一卡 | 欧美日韩国产精品一区 | 天天干,夜夜爽 | 中文字幕中文字幕中文字幕 | 国产成人在线播放 | 欧美一区免费观看 | 国产成人久久 | 亚洲精品五月 | 日韩av资源站 | 91精品在线观看视频 | 伊人天天色 | 免费看片网址 | 一级黄色免费网站 | 亚洲欧美日韩国产一区二区三区 | 精品视频免费久久久看 | 香蕉视频在线免费 | 伊人手机在线 | 成人欧美一区二区三区黑人麻豆 | 色之综合网 | 日本性生活免费看 | 亚洲第一区在线观看 | 高潮久久久久久久久 | 偷拍精品一区二区三区 | 99色| 500部大龄熟乱视频使用方法 | 成人影视免费看 | 二区中文字幕 | 在线综合 亚洲 欧美在线视频 | 久久久精品影视 | 亚洲高清在线视频 | 天堂入口网站 | 日韩久久视频 | 就要色综合 | 片网址| 天天干,天天草 | 精品国产福利在线 | 国产一二区免费视频 | 香蕉久久国产 | 九九九热精品免费视频观看 | 热久久免费视频精品 | adc在线观看| 激情五月激情综合网 | 国产精品一区二区美女视频免费看 | 国产资源av | 91精品视频在线播放 | 国产黄色视 | 91免费观看视频网站 | 免费精品国产va自在自线 | 天天摸天天操天天爽 | 色a网 | 在线观看你懂的网址 | 99亚洲天堂| 天天操夜夜想 | 国产 一区二区三区 在线 | 狠狠色伊人亚洲综合成人 | 久久国产精品第一页 | 天天干天天摸天天操 | av导航福利| 中文字幕亚洲字幕 | 久操中文字幕在线观看 | 国内精品99 | 91视频麻豆视频 | 午夜久久影院 | 亚洲最新合集 | 米奇影视7777| 西西444www大胆高清图片 | 蜜臀91丨九色丨蝌蚪老版 | 亚洲精品国产精品国自产在线 | 国产高清在线永久 | 中文字幕免费观看全部电影 | av一区二区三区在线 | 欧美一二三视频 | 91香蕉视频色版 | 国产成人亚洲在线电影 | 激情在线免费视频 | 菠萝菠萝在线精品视频 | 欧美永久视频 | av成人在线观看 | 婷婷综合电影 | 中文字幕永久免费 | 亚洲国产最新 | 久久黄色片子 | 国产午夜精品一区二区三区嫩草 | 亚洲精品久久久久58 | 成人a视频 | 国产成人性色生活片 | 久久精品爱爱视频 | 国产裸体视频网站 | 国产精品av电影 | 亚洲香蕉在线观看 | 欧美激情视频在线观看免费 | av电影久久| 91在线网址 | 超碰午夜 | 久久草网 | 国产视频精选在线 | 成人午夜电影在线 | 免费视频成人 | 国产91在线播放 | 香蕉在线视频播放网站 | 日韩av一区二区在线影视 | a特级毛片| 欧美韩日视频 | 亚洲在线看 | 韩国精品一区二区三区六区色诱 | 免费国产在线精品 | 免费下载高清毛片 | 午夜国产在线 | 国内外成人免费在线视频 | 国产在线播放一区二区三区 | 又黄又爽又刺激的视频 | 国产在线播放不卡 | 国产精品日韩在线 | 激情五月激情综合网 | 久久视频这里只有精品 | 中文字幕在线播放一区二区 | 日日夜夜操操操操 | 激情综合网五月婷婷 | 国产精品高清免费在线观看 | 成人国产网址 | 亚洲第一区在线播放 | 欧美日韩国产mv | 国产淫片 | 久久国产精品久久精品国产演员表 | 亚洲免费在线视频 | 亚洲电影影音先锋 | 亚洲免费在线 | 国产色视频网站2 | 91麻豆精品国产自产 | 国产黄色片一级三级 | 97超在线视频 | 丁香六月在线观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 日韩高清在线一区二区 | 中文免费 | 成年人电影免费在线观看 | 久久无码av一区二区三区电影网 | 欧美性色综合网站 | 中文字幕乱码电影 | 婷婷国产一区二区三区 | 婷婷色狠狠 | 最新极品jizzhd欧美 | 久久久久国产a免费观看rela | 久久国产精品99久久久久久丝袜 | 成人一区二区三区在线 | 国产精品免费久久 | 日本中文字幕在线 | 亚洲自拍偷拍色图 | 成人欧美一区二区三区黑人麻豆 | 91黄色在线观看 | 欧美精品一区二区在线播放 | 亚洲精品国偷自产在线99热 | 91九色视频在线播放 | www.色com | 亚洲精品中文字幕视频 | www色com| 日韩在线视频网址 | 日韩激情影院 | 日韩二区三区在线观看 | www.com.黄 | 日韩高清一区二区 | 91精品中文字幕 | 中文字幕在线播放第一页 | 日韩区在线观看 | 国产欧美久久久精品影院 | 97超视频免费观看 | 精品国产乱码久久久久久久 | 黄色成人av在线 | 亚洲在线视频免费观看 | 日本中文字幕一二区观 | av高清一区二区三区 | 黄色日本免费 | 成人黄色在线观看视频 | 中文字幕韩在线第一页 | 亚洲四虎 | 亚洲日本在线视频观看 | 免费男女羞羞的视频网站中文字幕 | 国产精品电影一区二区 | 99久久综合国产精品二区 | 999成人精品 | 欧美极品xxxxx | 日韩毛片在线免费观看 | 亚洲黄色免费网站 | 狠狠干网站 | 国产在线精品一区 | 欧美一级特黄高清视频 | 久久精品草| 国产高清黄 | 一区二区不卡高清 | 手机在线小视频 | 激情综合网天天干 | 亚洲91在线 | 久久不卡日韩美女 | 极品嫩模被强到高潮呻吟91 | 日韩高清成人 | 五月天激情视频在线观看 | 91视频91蝌蚪 | 天天碰天天操 | 国产一区二区三区高清播放 | 欧美午夜精品久久久久久孕妇 | 美女久久久久久久久久久 | 黄色成人在线观看 | 亚洲男男gaygayxxxgv | 9999在线| 国产拍揄自揄精品视频麻豆 | 中字幕视频在线永久在线观看免费 | 91香蕉视频在线 | 色久网| 久久久久久国产精品亚洲78 | 日日夜夜操av | 五月天网页 | 天天干天天爽 | 日韩在线色 | 亚洲精品男人的天堂 | 国产 在线 高清 精品 | 99精品久久99久久久久 | 99视频在线看 | 精品1区2区 | 91久久丝袜国产露脸动漫 | 欧美日韩国产一区二区三区在线观看 | 天天天天天干 | 五月婷久 | 99资源网| 91福利影院在线观看 | www.黄色在线 | 日韩在线观看小视频 | 亚洲精品国精品久久99热 | 91久久精| 亚洲成色777777在线观看影院 | 中文字幕乱在线伦视频中文字幕乱码在线 | 色婷五月| 综合久久久久久久 | 久久综合给合久久狠狠色 | 免费黄色在线网站 | 国产精品高潮呻吟久久久久 | 免费av电影网站 | 国产精品福利午夜在线观看 | 亚洲精品一区二区三区新线路 | 国产日韩精品一区二区在线观看播放 | 日韩av三区| 日韩电影中文,亚洲精品乱码 | 日本黄色片一区二区 | 久久精品专区 | 成人影视免费看 | 久久精品爱爱视频 | 欧美xxxx性xxxxx高清 | 黄色三级在线看 | 国产黄色av| 色999在线| 国产精品不卡av | 天干啦夜天干天干在线线 | 天天操天天色天天 | 日韩在线观看一区二区三区 | www.久久免费 | 一级免费看视频 | 国产成人精品午夜在线播放 | 在线看v片 | 狠狠狠色丁香综合久久天下网 | 在线中文字幕视频 | www久久久久 | www一起操| 成人毛片久久 | a久久久久久 | 毛片无卡免费无播放器 | 国产精品久久久久久久久免费 | 成人免费在线电影 | 成人午夜在线观看 | 在线观看视频精品 | 欧美日韩国产网站 | 欧美少妇xxx | av噜噜噜在线播放 | 欧美精品久久久久久久久久久 | 国产一级免费观看 | 尤物97国产精品久久精品国产 | 欧美十八 | 久草亚洲视频 | 久久久wwww| 黄色免费国产 | 狠狠色丁香久久婷婷综合_中 | 91伊人| 国产成人精品一区二区三区福利 | 国产成人一区二区在线观看 | 久久久久www| 精品久久久国产 | 久久欧美在线电影 | 国产黄a三级三级三级三级三级 | 天天鲁一鲁摸一摸爽一爽 | 女人18毛片a级毛片一区二区 | 亚洲观看黄色网 | 成人aⅴ视频 | 亚洲精品国产自产拍在线观看 | 1024手机基地在线观看 | 亚洲黄色在线观看 | 天天干夜夜 | 国产成人精品av在线观 | 亚洲人久久久 | 国产精品福利在线播放 | 成人小视频在线播放 | 99精品热| 天天操综合网站 | 国产一区在线免费观看 | 免费看成人av | 国产97在线观看 | 亚洲欧洲中文日韩久久av乱码 | 欧美午夜剧场 | 久久久精品 | 日韩免费在线观看 | 日韩欧美高清视频在线观看 | 色吊丝在线永久观看最新版本 | 久久国产精品久久精品 | 日韩中文字幕免费 | 国产亚洲成人精品 | 日日操日日| 国产精品久久久久久婷婷天堂 | 99精品国产一区二区三区麻豆 | 国产视频第二页 | 岛国av在线| 成人99免费视频 | 久久国产精品视频 | 日韩一区视频在线 | 中文字幕一区2区3区 | 免费在线成人av | 国产久视频 | 超碰com | 欧美精品一级视频 | 国产亚洲婷婷免费 | 成人av亚洲 | 国产精品精品久久久久久 | 日韩在线观看 | 五月天久久激情 | 免费a级大片 | 久草在线在线精品观看 | 国产精品久久电影网 | 欧美日韩视频在线 | 国产精品 欧美 日韩 | 亚洲日日日 | 久久久精品视频网站 | 国内丰满少妇猛烈精品播放 | 免费网址在线播放 | av久久久| 欧美日韩视频观看 | 久久激情五月婷婷 | 91麻豆操| 欧美日韩一级在线 | 国产精品丝袜 | 在线看片视频 | 最新真实国产在线视频 | 成人av片在线观看 | 黄色特一级 | 国产成人精品久久亚洲高清不卡 | 国产日韩欧美自拍 | 日韩高清激情 | 精品久久久久久亚洲 | 欧美日韩伦理一区 | 成 人 a v天堂 | 国产 日韩 欧美 中文 在线播放 | 97视频亚洲 | 粉嫩一二三区 | 国产视频日韩视频欧美视频 | 久久精品www人人爽人人 | 99免在线观看免费视频高清 | 日韩有码在线观看视频 | 2022国产精品视频 | 国产视频一区在线免费观看 | 免费观看性生活大片 | 亚洲一区二区三区miaa149 | 国产精品高清在线 | 九九热在线视频免费观看 | 亚洲最快最全在线视频 | 91国内在线| 美女视频黄是免费的 | .精品久久久麻豆国产精品 亚洲va欧美 | 色av婷婷 | 正在播放一区 | 人人爱夜夜操 | 欧美成人精品欧美一级乱黄 | www.久久免费 | av资源免费观看 | 日韩色综合网 | 色多多污污在线观看 | 日韩乱码中文字幕 | 久久综合干 | 日韩精品一区电影 | 四虎5151久久欧美毛片 | 在线成人免费av | 91新人在线观看 | 日韩高清久久 | 久久影视一区 | 午夜精品视频在线 | 色综合久久88色综合天天免费 | 国产又粗又猛又黄又爽视频 | 亚洲专区欧美 | 午夜视频二区 | 国产精品s色| 国产高清成人av | 高清免费在线视频 | 天天操夜夜操夜夜操 | 成人久久国产 | 日韩视频在线观看免费 | 天天爱天天草 | a极黄色片 | av成人动漫在线观看 | www.com.日本一级 | 在线电影 一区 | 青草视频在线播放 | 中国一级片在线播放 |