精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用 Springboot + Neo4j 實(shí)現(xiàn)知識(shí)圖譜功能開(kāi)發(fā)

開(kāi)發(fā) 前端
本次架構(gòu)方案通過(guò)整合 Springboot 和 Neo4j,實(shí)現(xiàn)了一套包含人員創(chuàng)建、朋友關(guān)系管理以及知識(shí)圖譜查看的功能系統(tǒng)。在實(shí)現(xiàn)過(guò)程中,充分考慮了功能的完整性、性能優(yōu)化以及用戶體驗(yàn)等方面。

Neo4j 框架介紹和特性

Neo4j 是一個(gè)高性能的、開(kāi)源的圖數(shù)據(jù)庫(kù)。它將數(shù)據(jù)存儲(chǔ)為圖結(jié)構(gòu),其中節(jié)點(diǎn)表示實(shí)體,邊表示實(shí)體之間的關(guān)系。這種圖數(shù)據(jù)模型非常適合處理復(fù)雜的關(guān)系型數(shù)據(jù),能夠高效地進(jìn)行關(guān)系查詢和遍歷。

Neo4j 的主要特性包括:

  1. 強(qiáng)大的圖查詢語(yǔ)言 Cypher:Cypher 是一種專門(mén)為 Neo4j 設(shè)計(jì)的聲明式查詢語(yǔ)言,使得查詢和操作圖數(shù)據(jù)變得直觀和高效。

Cypher 語(yǔ)言常用操作基本使用說(shuō)明:

創(chuàng)建節(jié)點(diǎn):

CREATE (n:Person {name: 'Alice', age: 30})

上述語(yǔ)句創(chuàng)建了一個(gè)名為"Alice",年齡為 30 歲的"Person"類型的節(jié)點(diǎn)。

創(chuàng)建關(guān)系:

MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[r:FRIEND {since: '2023'}]->(b)

此語(yǔ)句在"Alice"和"Bob"節(jié)點(diǎn)之間創(chuàng)建了名為"FRIEND",建立時(shí)間為"2023"的關(guān)系。

查詢節(jié)點(diǎn):

MATCH (n:Person) RETURN n

返回所有"Person"類型的節(jié)點(diǎn)。

查詢具有特定屬性的節(jié)點(diǎn):

MATCH (n:Person {age: 30}) RETURN n

查找年齡為 30 歲的"Person"節(jié)點(diǎn)。

更新節(jié)點(diǎn)屬性:

MATCH (n:Person {name: 'Alice'})
SET n.age = 31
RETURN n

將"Alice"節(jié)點(diǎn)的年齡更新為 31 歲。

刪除節(jié)點(diǎn)或關(guān)系:

MATCH (n:Person {name: 'Alice'})
DELETE n

刪除"Alice"節(jié)點(diǎn)。

MATCH (a:Person {name: 'Alice'})-[r:FRIEND]->(b:Person {name: 'Bob'})
DELETE r

刪除"Alice"和"Bob"之間的"FRIEND"關(guān)系。

按照條件篩選和排序結(jié)果:

MATCH (n:Person)
WHERE n.age > 20
RETURN n.name, n.age
ORDER BY n.age DESC

查找年齡大于 20 歲的"Person"節(jié)點(diǎn),并按照年齡降序排列返回其姓名和年齡。

使用聚合函數(shù):

MATCH (n:Person)
RETURN COUNT(n) AS personCount

計(jì)算"Person"節(jié)點(diǎn)的數(shù)量。

路徑查詢:

MATCH p = (a:Person {name: 'Alice'})-[*1..3]->(b:Person {name: 'Bob'})
RETURN p

查找從"Alice"到"Bob"最多經(jīng)過(guò) 3 步的路徑。

關(guān)聯(lián)查詢:

MATCH (a:Person)-[r:FRIEND]->(b:Person)
WHERE a.name = 'Alice' AND b.age > 25
RETURN b

查找"Alice"的朋友中年齡大于 25 歲的人。

系統(tǒng)安裝及基本使用說(shuō)明

(一)使用 Docker 安裝 Neo4j

  1. 拉取 Neo4j 的 Docker 鏡像:docker pull neo4j
  2. 啟動(dòng) Neo4j 容器:docker run -d -p 7474:7474 -p 7687:7687 --name neo4j neo4j

(二)啟動(dòng) Neo4j 服務(wù)

(三)基本使用

  1. 訪問(wèn) Neo4j 瀏覽器界面,通常在 http://localhost:7474/ 。
  2. 使用 Cypher 語(yǔ)言創(chuàng)建節(jié)點(diǎn)、關(guān)系和進(jìn)行查詢操作。

項(xiàng)目依賴配置(pom.xml)

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-neo4j</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 其他必要的依賴 -->
</dependencies>

YAML 屬性文件配置(application.yml)

spring:
  data:
    neo4j:
      uri: bolt://localhost:7687
      username: your_username
      password: your_password

代碼示例

實(shí)體類

import org.neo4j.ogm.annotation.GeneratedValue;
import org.neo4j.ogm.annotation.Id;
import org.neo4j.ogm.annotation.NodeEntity;

@NodeEntity
public class Person {

    @Id
    @GeneratedValue
    private Long id;

    private String name;

    // 新增:朋友列表
    private List<Person> friends;

    // 構(gòu)造函數(shù)、getter 和 setter 方法
}

數(shù)據(jù)訪問(wèn)層

import org.springframework.data.neo4j.repository.Neo4jRepository;

public interface PersonRepository extends Neo4jRepository<Person, Long> {

    // 新增:根據(jù)用戶名查找用戶及其朋友
    Person findByNameAndFetchFriends(String name);

    // 新增:獲取知識(shí)圖譜的方法
    List<Person> getKnowledgeGraph();
}

服務(wù)層

import org.springframework.stereotype.Service;

@Service
public class PersonService {

    private final PersonRepository personRepository;

    public PersonService(PersonRepository personRepository) {
        this.personRepository = personRepository;
    }

    public void savePerson(Person person) {
        personRepository.save(person);
    }

    // 新增:添加朋友關(guān)系
    public void addFriendship(String personName1, String personName2) {
        Person person1 = personRepository.findByNameAndFetchFriends(personName1);
        Person person2 = personRepository.findByNameAndFetchFriends(personName2);
        person1.getFriends().add(person2);
        person2.getFriends().add(person1);
        personRepository.save(person1);
        personRepository.save(person2);
    }

    // 新增:獲取用戶的朋友列表
    public List<Person> getFriends(String personName) {
        Person person = personRepository.findByNameAndFetchFriends(personName);
        return person.getFriends();
    }

    // 新增:獲取知識(shí)圖譜
    public List<Person> getKnowledgeGraph() {
        return personRepository.getKnowledgeGraph();
    }
}

控制器層

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class PersonController {

    private final PersonService personService;

    public PersonController(PersonService personService) {
        this.personService = personService;
    }

    @PostMapping("/persons")
    public void createPerson(@RequestBody Person person) {
        personService.savePerson(person);
    }

    // 新增:添加朋友關(guān)系的接口
    @PostMapping("/addFriendship")
    public void addFriendship(@RequestBody AddFriendshipRequest request) {
        personService.addFriendship(request.getPersonName1(), request.getPersonName2());
    }

    // 新增:獲取用戶朋友列表的接口
    @GetMapping("/friends/{personName}")
    public List<Person> getFriends(@PathVariable String personName) {
        return personService.getFriends(personName);
    }

    // 新增:查看知識(shí)圖譜的接口
    @GetMapping("/knowledgeGraph")
    public List<Person> getKnowledgeGraph() {
        return personService.getKnowledgeGraph();
    }

    // 新增:添加朋友關(guān)系的請(qǐng)求類
    static class AddFriendshipRequest {
        private String personName1;
        private String personName2;

        public String getPersonName1() {
            return personName1;
        }

        public void setPersonName1(String personName1) {
            this.personName1 = personName1;
        }

        public String getPersonName2() {
            return personName2;
        }

        public void setPersonName2(String personName2) {
            this.personName2 = personName2;
        }
    }
}

前端代碼(使用 Vue.js 示例)

<template>
  <div>
    <input v-model="newPerson.name" placeholder="輸入人員姓名" />
    <button @click="createPerson">創(chuàng)建人員</button>

    <input v-model="personName1" placeholder="輸入第一個(gè)人員姓名" />
    <input v-model="personName2" placeholder="輸入第二個(gè)人員姓名" />
    <button @click="addFriendship">添加朋友關(guān)系</button>

    <input v-model="personNameForFriends" placeholder="輸入要查看朋友的人員姓名" />
    <button @click="getFriends">獲取朋友列表</button>

    <button @click="getKnowledgeGraph">查看知識(shí)圖譜</button>

    <ul v-if="knowledgeGraph.length > 0">
      <li v-for="person in knowledgeGraph" :key="person.name">{{ person.name }}</li>
    </ul>

    <ul v-if="friends.length > 0">
      <li v-for="friend in friends" :key="friend.name">{{ friend.name }}</li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      newPerson: {
        name: ''
      },
      personName1: '',
      personName2: '',
      personNameForFriends: '',
      knowledgeGraph: [],
      friends: []
    };
  },
  methods: {
    createPerson() {
      axios.post('/persons', this.newPerson)
    .then(response => {
          console.log(response.data);
      })
   .catch(error => {
          console.error(error);
      });
    },
    addFriendship() {
      axios.post('/addFriendship', {
        personName1: this.personName1,
        personName2: this.personName2
      })
   .then(response => {
          console.log(response.data);
      })
   .catch(error => {
          console.error(error);
      });
    },
    getFriends() {
      axios.get(`/friends/${this.personNameForFriends}`)
   .then(response => {
          this.friends = response.data;
      })
   .catch(error => {
          console.error(error);
      });
    },
    getKnowledgeGraph() {
      axios.get('/knowledgeGraph')
   .then(response => {
          this.knowledgeGraph = response.data;
      })
   .catch(error => {
          console.error(error);
      });
    }
  }
}
</script>

總結(jié):

本次架構(gòu)方案通過(guò)整合 Springboot 和 Neo4j,實(shí)現(xiàn)了一套包含人員創(chuàng)建、朋友關(guān)系管理以及知識(shí)圖譜查看的功能系統(tǒng)。在實(shí)現(xiàn)過(guò)程中,充分考慮了功能的完整性、性能優(yōu)化以及用戶體驗(yàn)等方面。但在實(shí)際應(yīng)用中,仍需根據(jù)具體業(yè)務(wù)需求和數(shù)據(jù)規(guī)模進(jìn)行進(jìn)一步的調(diào)整和優(yōu)化,以確保系統(tǒng)的穩(wěn)定和高效運(yùn)行。

責(zé)任編輯:武曉燕 來(lái)源: 路條編程
相關(guān)推薦

2018-05-16 08:26:39

知識(shí)圖譜Neo4j

2024-06-03 10:53:18

LLMRAGGraphRAG

2025-10-09 00:00:00

Neo4jLLMs結(jié)構(gòu)化

2025-07-21 09:23:13

2025-07-18 08:15:55

2022-11-18 17:53:03

Neo4j

2021-12-27 07:31:37

JavaNeo4J數(shù)據(jù)庫(kù)

2017-07-28 15:12:28

Neo4j圖數(shù)據(jù)庫(kù)

2021-01-19 10:52:15

知識(shí)圖譜

2025-04-27 00:10:00

AI人工智能知識(shí)圖譜

2017-03-06 16:48:56

知識(shí)圖譜構(gòu)建存儲(chǔ)

2022-04-13 11:32:45

Neo4j圖數(shù)據(jù)庫(kù)

2021-01-25 10:36:32

知識(shí)圖譜人工智能

2021-12-03 20:33:08

計(jì)算

2023-08-22 15:34:01

Python開(kāi)發(fā)

2025-06-06 01:00:00

AI人工智能知識(shí)圖譜

2024-06-03 07:28:43

2024-10-07 08:49:25

2011-07-26 12:48:52

neo4j圖數(shù)據(jù)庫(kù)

2015-09-28 08:57:06

Ruby APPNeo4j
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩视频永久免费| 亚洲电影影音先锋| 在线免费观看日本欧美| 亚洲一区三区电影在线观看| 亚洲一卡二卡在线| 狠狠爱综合网| 国产亚洲a∨片在线观看| 污网站在线免费| 久草在线资源站手机版| 中文一区在线播放| 91国产精品电影| 国产精品久久免费观看| 婷婷视频一区二区三区| 91电影在线观看| 野外做受又硬又粗又大视频√| 国产三级视频在线看| 国产成人综合在线| 国产精品电影观看| 日韩精品一区二区不卡| 免费一级欧美片在线观看网站| 亚洲va韩国va欧美va| 亚洲精品一区二区三区四区五区| www.超碰在线.com| 日韩av电影免费观看高清完整版| 亚洲成人av资源网| 中文字幕第88页| 国产免费不卡| 亚洲在线视频一区| 一区二区免费在线视频| 日本私人网站在线观看| 国产精品18久久久久久久久久久久| 欧美与欧洲交xxxx免费观看| 久久国产精品二区| 久久密一区二区三区| 精品爽片免费看久久| 95视频在线观看| 精品久久亚洲| 欧美乱妇23p| 亚洲精品一区二区三区四区五区| 日韩偷拍自拍| 成人av电影免费在线播放| 成人网在线免费看| 亚洲综合精品国产一区二区三区 | 天天操夜夜操视频| 欧美日一区二区在线观看 | 欧美日韩一级大片| 久久亚洲专区| 中文字幕欧美日韩精品 | 自拍偷在线精品自拍偷无码专区| 日本一区二区三区四区高清视频| 丝袜视频国产在线播放| bt7086福利一区国产| 俄罗斯精品一区二区三区| 99久久精品国产色欲| 国产一区福利在线| 成人免费视频a| 国产精品久久影视| 韩国v欧美v亚洲v日本v| 成人亚洲激情网| 999av视频| 国产·精品毛片| 国产精品国产精品| 天堂中文网在线| 97精品视频在线观看自产线路二| 国产一区喷水| 免费毛片在线| 国产精品网曝门| 中文字幕乱码一区二区三区| 粗大黑人巨茎大战欧美成人| 亚洲男人的天堂在线观看| 欧美少妇一区二区三区| 超碰超碰在线| 亚洲 欧美综合在线网络| 国产精品999视频| 亚洲精品动漫| 欧美视频在线一区| 亚洲综合伊人久久| 91在线一区| 日韩精品久久久久久久玫瑰园| 人人妻人人藻人人爽欧美一区| 欧美精品一区二区三区精品| 久久精品国产电影| 国产一级一片免费播放放a| 在线综合亚洲| 国产精品热视频| www.日本在线观看| 91偷拍与自偷拍精品| 无码免费一区二区三区免费播放 | 97色在线播放视频| 亚洲av无码精品一区二区| 久久国产婷婷国产香蕉| 成人一区二区三区四区| 欧美日韩影视| 亚洲欧美日韩国产另类专区 | 搜索黄色一级片| 亚洲激情视频| 国产精品影院在线观看| 午夜精品一二三区| 久久精品一区二区三区四区| av磁力番号网| 欧美电影免费观看网站| 欧美精品久久天天躁| 亚洲欧美在线不卡| 久久视频国产| 欧美一级高清免费播放| 国产乱淫av免费| 久久久99久久精品欧美| 亚洲中文字幕无码一区二区三区 | 亚洲成人影院麻豆| 亚洲成人免费看| 日韩中文字幕a| 亚洲三级精品| 欧美激情a∨在线视频播放| 亚洲精品一区二区三区影院忠贞| 天堂在线中文网官网| 在线观看日韩国产| 漂亮人妻被黑人久久精品| 久久一区二区三区喷水| 亚洲91精品在线观看| 国产精选久久久| 久久精品人人做人人爽97| 日本aa在线观看| 日日夜夜亚洲| 欧美另类videos死尸| 7788色淫网站小说| 午夜日韩福利| 国产欧美 在线欧美| 日本一本草久在线中文| 亚洲国产婷婷综合在线精品| 国产免费中文字幕| 日本少妇精品亚洲第一区| 亚洲午夜久久久久久久| 日本视频免费在线| 成人午夜电影久久影院| 在线观看三级网站| 久久91超碰青草在哪里看| 亚洲美女激情视频| 日本三级一区二区| 成人久久视频在线观看| 大陆极品少妇内射aaaaaa| 婷婷激情成人| 北条麻妃久久精品| 亚洲无码精品在线观看| 国产欧美日韩精品一区| 一区不卡字幕| 国产69精品久久久久9999人| 国产午夜精品视频免费不卡69堂| 91丝袜一区二区三区| 91亚洲永久精品| 国产高清av在线播放| 高端美女服务在线视频播放| 欧美午夜精品在线| 欧类av怡春院| 一本一道久久综合狠狠老精东影业| 成人免费视频网站入口| 色噜噜狠狠狠综合欧洲色8| 91精品国产入口| 国产真实乱人偷精品| 亚洲先锋成人| 国产精品一区二区av| av中文字幕在线观看第一页| 亚洲国产中文字幕久久网| 日韩精品成人在线| 99久久国产综合精品女不卡| www国产精品内射老熟女| 日韩高清一级| 国产成人91久久精品| 黄网在线观看| 亚洲黄色小视频| 在线观看欧美一区二区| 日韩精品社区| 欧美一级大片在线观看| 国产色在线 com| 欧美日韩久久一区二区| 91 在线视频| 成人做爰69片免费看网站| 国产精品无码人妻一区二区在线| 妖精一区二区三区精品视频| 国产精品777| 三级外国片在线观看视频| 91精品免费在线观看| 国产一级一片免费播放| 久久精品男人的天堂| 国产原创精品在线| 欧美日韩爆操| 麻豆成人在线播放| 欧美伊人亚洲伊人色综合动图| 免费av一区二区| 少妇喷水在线观看| 在线观看欧美日本| 九九视频免费在线观看| 91看片淫黄大片一级| 乌克兰美女av| 伊人激情综合| 艳色歌舞团一区二区三区| 8x国产一区二区三区精品推荐| 欧美在线免费看| 欧美成年黄网站色视频| 亚洲成人av资源网| 一区二区三区免费在线| 性久久久久久久久| 成年人视频软件| 99久久精品久久久久久清纯| 九九热免费在线观看| 亚洲久久在线| 中国一区二区三区| 亚洲美女久久| 国产精品日韩高清| 亚洲欧美专区| 日韩av色在线| 国产乱码在线| 久久在线视频在线| 黄上黄在线观看| 精品久久99ma| 97超碰国产在线| 色欧美片视频在线观看在线视频| 免费毛片在线播放免费| 国产精品美女一区二区在线观看| 69亚洲乱人伦| 国产精品亚洲一区二区三区在线| 99久久国产宗和精品1上映| 狠狠入ady亚洲精品| 中文字幕免费高| 狠狠做六月爱婷婷综合aⅴ| 国产经品一区二区| 91国产一区| 国产精品久久久久9999| 成年男女免费视频网站不卡| 九九综合九九综合| 看黄网站在线| 色偷偷亚洲男人天堂| 欧美女优在线观看| 亚洲成人av片在线观看| 亚洲精品久久久狠狠狠爱| 欧美一区二区在线免费播放| 亚洲一区在线观| 欧美日韩卡一卡二| 在线免费看毛片| 在线免费观看日本一区| 天天爽夜夜爽人人爽| 欧美性猛交xxxx乱大交极品| 欧美精品亚洲精品日韩精品| 亚洲国产成人av网| 久久久精品国产sm调教网站| 悠悠色在线精品| 成人观看免费视频| 亚洲精品videosex极品| 在线免费日韩av| 亚洲欧美日韩国产一区二区三区| 91 在线视频| 一区二区三区精品视频在线| 麻豆精品一区二区三区视频| 一区二区三区四区激情| 成人免费视频网站入口::| 亚洲欧美日韩一区二区 | 日本免费在线精品| 伊人久久综合一区二区| 日韩av色综合| 美女视频一区| 亚洲专区国产精品| 亚洲网一区二区三区| 国产女人水真多18毛片18精品| 久久亚州av| 蜜桃狠狠色伊人亚洲综合网站| 国产精品探花在线观看| 先锋在线资源一区二区三区| 日韩在线观看| 男女h黄动漫啪啪无遮挡软件| 欧美.日韩.国产.一区.二区| 日本男女交配视频| 99在线观看免费视频精品观看| 青青草原成人网| 日本在线不卡视频| www.欧美激情.com| 国产成a人亚洲| 成人网站免费观看| 欧美国产日韩一二三区| 91视频青青草| 精品国产91久久久| 中文字幕一区二区三区波野结| 亚洲精品视频自拍| 一区二区三区免费高清视频| 富二代精品短视频| 欧美激情国产精品免费| 亚洲成人综合在线| 无码人妻aⅴ一区二区三区有奶水| 欧美在线观看视频一区二区 | 亚洲精品一区| 91精品国产综合久久香蕉最新版 | 日韩一区二区三区在线观看| 日本激情一区二区| 中文国产成人精品| 欧美1—12sexvideos| 日av在线播放中文不卡| av日韩一区| 久久综合九色综合久99| 久久国产精品亚洲人一区二区三区| 人妻无码一区二区三区四区| 爽爽淫人综合网网站| 免费人成自慰网站| 丝袜诱惑制服诱惑色一区在线观看| 亚洲美女性囗交| 99re热视频这里只精品 | 亚洲愉拍自拍另类高清精品| 91丝袜一区二区三区| 日韩一区二区三区精品视频| 青青草在线播放| 欧美久久久精品| 中文另类视频| 45www国产精品网站| 久久亚洲精品人成综合网| 狠狠色伊人亚洲综合网站色 | 久久这里只有精品23| 日本中文字幕不卡| 午夜av免费看| 亚洲精品一卡二卡| 国产乡下妇女三片| 日韩国产高清视频在线| sm国产在线调教视频| 国产精品爱久久久久久久| 精品女人视频| 国风产精品一区二区| 久久精品免费观看| 91网站免费入口| 精品久久久久久国产91| 国产成人精品亚洲精品色欲| 中文字幕亚洲一区在线观看| 午夜欧美激情| 精品久久久久久一区| 欧美三级第一页| 日本少妇xxx| 亚洲视频免费看| 7777久久亚洲中文字幕| 中文字幕av一区中文字幕天堂| 亚洲精品一区| 美女一区视频| 久久都是精品| 丁香婷婷激情网| 91免费观看视频| 欧美日韩综合在线观看| 亚洲电影成人av99爱色| 啦啦啦中文在线观看日本| 91精品国产综合久久久久久丝袜| 亚洲色图欧美| 91网址在线观看精品| 亚洲天堂福利av| 国产精品高潮呻吟av| 中文字幕在线看视频国产欧美| 日韩欧美看国产| 日韩国产一区久久| 欧美r级电影| 欧美在线aaa| 成人免费在线播放视频| 亚洲视频中文字幕在线观看| 中文字幕日韩欧美| 日韩三区四区| 男同互操gay射视频在线看| 国产成人在线免费| 国产网站在线看| 日韩高清欧美高清| 99热播精品免费| 最新精品视频| 成人一区二区三区视频在线观看 | 国产亚洲精品自拍| 精品少妇一区二区三区免费观| 欧美日韩中文在线| 国产私拍精品| 91香蕉亚洲精品| 精品动漫3d一区二区三区免费版 | 一区二区xxx| 亚洲视频你懂的| 日本久久一级片| 日韩av不卡电影| 久久中文字幕二区| 精品人妻一区二区三区免费| 亚洲第一av色| 九色在线播放| 成人精品网站在线观看| 狠久久av成人天堂| 一色道久久88加勒比一| 在线不卡中文字幕播放| 国产美女福利在线观看| 色之综合天天综合色天天棕色| 国内欧美视频一区二区| 精品在线视频免费| 国产午夜精品视频免费不卡69堂| 在线免费成人| 一女被多男玩喷潮视频| 中文无字幕一区二区三区 | 欧美电影在线观看网站| 国产欧美久久久久| 国产亚洲欧美在线| 国产wwwwwww| 国产成人在线一区二区| 91国语精品自产拍| 久久成人激情视频| 精品日韩在线观看| 丰满少妇一区| 欧美 日韩 国产一区| 亚洲色图欧美激情|