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

如何用Java操作MongoDB

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù) MongoDB
在上一篇文章中介紹到了在MongoDB的控制臺(tái)完成MongoDB的數(shù)據(jù)操作,通過(guò)前一篇文章我們對(duì)MongoDB有了全面的認(rèn)識(shí)和理解。現(xiàn)在我們就用Java來(lái)操作MongoDB的數(shù)據(jù)。

上一篇文章介紹到了在MongoDB的控制臺(tái)完成MongoDB的數(shù)據(jù)操作,通過(guò)前一篇文章我們對(duì)MongoDB有了全面的認(rèn)識(shí)和理解。現(xiàn)在我們就用Java來(lái)操作MongoDB的數(shù)據(jù)。

開發(fā)環(huán)境:

  1. System:Windows
  2. IDE:eclipse、MyEclipse 8
  3. Database:mongoDB

開發(fā)依賴庫(kù):

  1. JavaEE5、mongo-2.5.3.jar、junit-4.8.2.jar
  2. Email:hoojo_@126.com
  3. Blog:http://blog.csdn.net/IBM_hoojo

一、準(zhǔn)備工作

1、 首先,下載mongoDB對(duì)Java支持的驅(qū)動(dòng)包

驅(qū)動(dòng)包下載地址:https://github.com/mongodb/mongo-java-driver/downloads

mongoDB對(duì)Java的相關(guān)支持、技術(shù):http://www.mongodb.org/display/DOCS/Java+Language+Center

驅(qū)動(dòng)源碼下載:https://download.github.com/mongodb-mongo-java-driver-r2.6.1-7-g6037357.zip

在線查看源碼:https://github.com/mongodb/mongo-java-driver

2、 下面建立一個(gè)JavaProject工程,導(dǎo)入下載下來(lái)的驅(qū)動(dòng)包。即可在Java中使用mongoDB,目錄如下:

#FormatImgID_0#

二、Java操作MongoDB示例

在本示例之前你需要啟動(dòng)mongod.exe的服務(wù),啟動(dòng)后,下面的程序才能順利執(zhí)行;

1、 建立SimpleTest.java,完成簡(jiǎn)單的mongoDB數(shù)據(jù)庫(kù)操作

Mongo mongo = new Mongo();

這樣就創(chuàng)建了一個(gè)MongoDB的數(shù)據(jù)庫(kù)連接對(duì)象,它默認(rèn)連接到當(dāng)前機(jī)器的localhost地址,端口是27017。

DB db = mongo.getDB(“test”);

這樣就獲得了一個(gè)test的數(shù)據(jù)庫(kù),如果mongoDB中沒(méi)有創(chuàng)建這個(gè)數(shù)據(jù)庫(kù)也是可以正常運(yùn)行的。如果你讀過(guò)上一篇文章就知道,mongoDB可以在沒(méi)有創(chuàng)建這個(gè)數(shù)據(jù)庫(kù)的情況下,完成數(shù)據(jù)的添加操作。當(dāng)添加的時(shí)候,沒(méi)有這個(gè)庫(kù),mongoDB會(huì)自動(dòng)創(chuàng)建當(dāng)前數(shù)據(jù)庫(kù)。

得到了db,下一步我們要獲取一個(gè)“聚集集合DBCollection”,通過(guò)db對(duì)象的getCollection方法來(lái)完成。

DBCollection users = db.getCollection("users");

這樣就獲得了一個(gè)DBCollection,它相當(dāng)于我們數(shù)據(jù)庫(kù)的“表”。

查詢所有數(shù)據(jù)

  1. package com.hoo.test;  
  2.    
  3. import java.net.UnknownHostException;  
  4. import com.mongodb.DB;  
  5. import com.mongodb.DBCollection;  
  6. import com.mongodb.DBCursor;  
  7. import com.mongodb.Mongo;  
  8. import com.mongodb.MongoException;  
  9. import com.mongodb.util.JSON;  
  10.    
  11. /**  
  12.  * function:MongoDB 簡(jiǎn)單示例  
  13.  * @author hoojo  
  14.  * @createDate 2011-5-24 下午02:42:29  
  15.  * @file SimpleTest.java  
  16.  * @package com.hoo.test  
  17.  * @project MongoDB  
  18.  * @blog http://blog.csdn.net/IBM_hoojo  
  19.  * @email hoojo_@126.com  
  20.  * @version 1.0  
  21.  */ 
  22. public class SimpleTest {  
  23.    
  24.     public static void main(String[] args) throws UnknownHostException, MongoException {  
  25.         Mongo mg = new Mongo();  
  26.         //查詢所有的Database  
  27.         for (String name : mg.getDatabaseNames()) {  
  28.             System.out.println("dbName: " + name);  
  29.         }  
  30.           
  31.         DB db = mg.getDB("test");  
  32.         //查詢所有的聚集集合  
  33.         for (String name : db.getCollectionNames()) {  
  34.             System.out.println("collectionName: " + name);  
  35.         }  
  36.           
  37.         DBCollection users = db.getCollection("users");  
  38.           
  39.         //查詢所有的數(shù)據(jù)  
  40.         DBCursor cur = users.find();  
  41.         while (cur.hasNext()) {  
  42.             System.out.println(cur.next());  
  43.         }  
  44.         System.out.println(cur.count());  
  45.         System.out.println(cur.getCursorId());  
  46.         System.out.println(JSON.serialize(cur));  
  47.     }  
  48. }  

2、 完成CRUD操作,首先建立一個(gè)MongoDB4CRUDTest.java,基本測(cè)試代碼如下: 

  1. package com.hoo.test;    
  2.      
  3.  
  4. import java.net.UnknownHostException;    
  5. import java.util.ArrayList;    
  6. import java.util.List;    
  7. import org.bson.types.ObjectId;    
  8. import org.junit.After;    
  9. import org.junit.Before;    
  10. import org.junit.Test;    
  11. import com.mongodb.BasicDBObject;    
  12. import com.mongodb.Bytes;    
  13. import com.mongodb.DB;    
  14. import com.mongodb.DBCollection;    
  15. import com.mongodb.DBCursor;    
  16. import com.mongodb.DBObject;    
  17. import com.mongodb.Mongo;    
  18. import com.mongodb.MongoException;    
  19. import com.mongodb.QueryOperators;    
  20. import com.mongodb.util.JSON;    
  21.      
  22. /**    
  23.  * function:實(shí)現(xiàn)MongoDB的CRUD操作    
  24.  * @author hoojo    
  25.  * @createDate 2011-6-2 下午03:21:23    
  26.  * @file MongoDB4CRUDTest.java    
  27.  * @package com.hoo.test    
  28.  * @project MongoDB    
  29.  * @blog http://blog.csdn.net/IBM_hoojo    
  30.  * @email hoojo_@126.com    
  31.  * @version 1.0    
  32.  */   
  33. public class MongoDB4CRUDTest {    
  34.         
  35.     private Mongo mg = null;    
  36.     private DB db;    
  37.     private DBCollection users;    
  38.         
  39.     @Before   
  40.     public void init() {    
  41.         try {    
  42.             mg = new Mongo();    
  43.             //mg = new Mongo("localhost", 27017);    
  44.         } catch (UnknownHostException e) {    
  45.             e.printStackTrace();    
  46.         } catch (MongoException e) {    
  47.             e.printStackTrace();    
  48.         }    
  49.         //獲取temp DB;如果默認(rèn)沒(méi)有創(chuàng)建,mongodb會(huì)自動(dòng)創(chuàng)建    
  50.         db = mg.getDB("temp");    
  51.         //獲取users DBCollection;如果默認(rèn)沒(méi)有創(chuàng)建,mongodb會(huì)自動(dòng)創(chuàng)建    
  52.         users = db.getCollection("users");    
  53.     }    
  54.         
  55.  
  56.     @After   
  57.     public void destory() {    
  58.         if (mg != null)    
  59.             mg.close();    
  60.         mg = null;    
  61.         db = null;    
  62.         users = null;    
  63.         System.gc();    
  64.     }    
  65.     public void print(Object o) {    
  66.         System.out.println(o);    
  67.     }    
  68. }  

#p#

3、 添加操作

在添加操作之前,我們需要寫個(gè)查詢方法,來(lái)查詢所有的數(shù)據(jù)。代碼如下:

  1. /**  
  2.  * function: 查詢所有數(shù)據(jù)  
  3.  * @author hoojo  
  4.  * @createDate 2011-6-2 下午03:22:40  
  5.  */ 
  6. private void queryAll() {  
  7.     print("查詢users的所有數(shù)據(jù):");  
  8.     //db游標(biāo)  
  9.     DBCursor cur = users.find();  
  10.     while (cur.hasNext()) {  
  11.         print(cur.next());  
  12.     }  
  13. }  
  14.    
  15. @Test 
  16. public void add() {  
  17.     //先查詢所有數(shù)據(jù)  
  18.     queryAll();  
  19.     print("count: " + users.count());  
  20.       
  21.     DBObject user = new BasicDBObject();  
  22.     user.put("name""hoojo");  
  23.     user.put("age"24);  
  24.     //users.save(user)保存,getN()獲取影響行數(shù)  
  25.     //print(users.save(user).getN());  
  26.       
  27.     //擴(kuò)展字段,隨意添加字段,不影響現(xiàn)有數(shù)據(jù)  
  28.     user.put("sex""男");  
  29.     print(users.save(user).getN());  
  30.       
  31.     //添加多條數(shù)據(jù),傳遞Array對(duì)象  
  32.     print(users.insert(user, new BasicDBObject("name""tom")).getN());  
  33.       
  34.     //添加List集合  
  35.     List list = new ArrayList();  
  36.     list.add(user);  
  37.     DBObject user2 = new BasicDBObject("name""lucy");  
  38.     user.put("age"22);  
  39.     list.add(user2);  
  40.     //添加List集合  
  41.     print(users.insert(list).getN());  
  42.       
  43.     //查詢下數(shù)據(jù),看看是否添加成功  
  44.     print("count: " + users.count());  
  45.     queryAll();  

4、 刪除數(shù)據(jù)

  1. @Test 
  2. public void remove() {  
  3.     queryAll();  
  4.     print("刪除id = 4de73f7acd812d61b4626a77:" + users.remove(new BasicDBObject("_id"new ObjectId("4de73f7acd812d61b4626a77"))).getN());  
  5.     print("remove age >= 24: " + users.remove(new BasicDBObject("age"new BasicDBObject("$gte"24))).getN());  

5、 修改數(shù)據(jù)

  1. @Test 
  2. public void modify() {  
  3.     print("修改:" + users.update(new BasicDBObject("_id"new ObjectId("4dde25d06be7c53ffbd70906")), new BasicDBObject("age"99)).getN());  
  4.     print("修改:" + users.update(  
  5.             new BasicDBObject("_id"new ObjectId("4dde2b06feb038463ff09042")),   
  6.             new BasicDBObject("age"121),  
  7.             true,//如果數(shù)據(jù)庫(kù)不存在,是否添加  
  8.             false//多條修改  
  9.             ).getN());  
  10.     print("修改:" + users.update(  
  11.             new BasicDBObject("name""haha"),   
  12.             new BasicDBObject("name""dingding"),  
  13.             true,//如果數(shù)據(jù)庫(kù)不存在,是否添加  
  14.             true//false只修改第一天,true如果有多條就不修改  
  15.             ).getN());  
  16.       
  17.     //當(dāng)數(shù)據(jù)庫(kù)不存在就不修改、不添加數(shù)據(jù),當(dāng)多條數(shù)據(jù)就不修改  
  18.     //print("修改多條:" + coll.updateMulti(new BasicDBObject("_id", new ObjectId("4dde23616be7c19df07db42c")), new BasicDBObject("name", "199")));  

#p#

6、 查詢數(shù)據(jù)

  1. @Test 
  2. public void query() {  
  3.     //查詢所有  
  4.     //queryAll();  
  5.       
  6.     //查詢id = 4de73f7acd812d61b4626a77  
  7.     print("find id = 4de73f7acd812d61b4626a77: " + users.find(new BasicDBObject("_id"new ObjectId("4de73f7acd812d61b4626a77"))).toArray());  
  8.       
  9.     //查詢age = 24  
  10.     print("find age = 24: " + users.find(new BasicDBObject("age"24)).toArray());  
  11.       
  12.     //查詢age >= 24  
  13.     print("find age >= 24: " + users.find(new BasicDBObject("age"new BasicDBObject("$gte"24))).toArray());  
  14.     print("find age <= 24: " + users.find(new BasicDBObject("age"new BasicDBObject("$lte"24))).toArray());  
  15.       
  16.     print("查詢age!=25:" + users.find(new BasicDBObject("age"new BasicDBObject("$ne"25))).toArray());  
  17.     print("查詢age in 25/26/27:" + users.find(new BasicDBObject("age"new BasicDBObject(QueryOperators.IN, new int[] { 252627 }))).toArray());  
  18.     print("查詢age not in 25/26/27:" + users.find(new BasicDBObject("age"new BasicDBObject(QueryOperators.NIN, new int[] { 252627 }))).toArray());  
  19.     print("查詢age exists 排序:" + users.find(new BasicDBObject("age"new BasicDBObject(QueryOperators.EXISTS, true))).toArray());  
  20.       
  21.     print("只查詢age屬性:" + users.find(nullnew BasicDBObject("age"true)).toArray());  
  22.     print("只查屬性:" + users.find(nullnew BasicDBObject("age"true), 02).toArray());  
  23.     print("只查屬性:" + users.find(nullnew BasicDBObject("age"true), 02, Bytes.QUERYOPTION_NOTIMEOUT).toArray());  
  24.       
  25.     //只查詢一條數(shù)據(jù),多條去第一條  
  26.     print("findOne: " + users.findOne());  
  27.     print("findOne: " + users.findOne(new BasicDBObject("age"26)));  
  28.     print("findOne: " + users.findOne(new BasicDBObject("age"26), new BasicDBObject("name"true)));  
  29.       
  30.     //查詢修改、刪除  
  31.     print("findAndRemove 查詢age=25的數(shù)據(jù),并且刪除: " + users.findAndRemove(new BasicDBObject("age"25)));  
  32.       
  33.     //查詢age=26的數(shù)據(jù),并且修改name的值為Abc  
  34.     print("findAndModify: " + users.findAndModify(new BasicDBObject("age"26), new BasicDBObject("name""Abc")));  
  35.     print("findAndModify: " + users.findAndModify(  
  36.         new BasicDBObject("age"28), //查詢age=28的數(shù)據(jù)  
  37.         new BasicDBObject("name"true), //查詢name屬性  
  38.         new BasicDBObject("age"true), //按照age排序  
  39.         false//是否刪除,true表示刪除  
  40.         new BasicDBObject("name""Abc"), //修改的值,將name修改成Abc  
  41.         true,   
  42.         true));  
  43.       
  44.     queryAll();  

mongoDB不支持聯(lián)合查詢、子查詢,這需要我們自己在程序中完成。將查詢的結(jié)果集在Java查詢中進(jìn)行需要的過(guò)濾即可。

7、 其他操作

  1. public void testOthers() {  
  2.     DBObject user = new BasicDBObject();  
  3.     user.put("name""hoojo");  
  4.     user.put("age"24);  
  5.       
  6.     //JSON 對(duì)象轉(zhuǎn)換          
  7.     print("serialize: " + JSON.serialize(user));  
  8.     //反序列化  
  9.     print("parse: " + JSON.parse("{ \"name\" : \"hoojo\" , \"age\" : 24}"));  
  10.       
  11.     print("判斷temp Collection是否存在: " + db.collectionExists("temp"));  
  12.       
  13.     //如果不存在就創(chuàng)建  
  14.     if (!db.collectionExists("temp")) {  
  15.         DBObject options = new BasicDBObject();  
  16.         options.put("size"20);  
  17.         options.put("capped"20);  
  18.         options.put("max"20);  
  19.         print(db.createCollection("account", options));  
  20.     }  
  21.       
  22.     //設(shè)置db為只讀  
  23.     db.setReadOnly(true);  
  24.       
  25.     //只讀不能寫入數(shù)據(jù)  
  26.     db.getCollection("test").save(user);  

 好了,這里基本上就介紹這么多Java操作MongoDB的方法。其他的東西還需要你自己多多研究。上面操作MongoDB的方法都是一些常用的方法,比較簡(jiǎn)單。

原文鏈接:http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html

【編輯推薦】

 

  1. 淘寶海量數(shù)據(jù)庫(kù)之克服隨機(jī)IO難題
  2. 數(shù)據(jù)庫(kù)如何抵抗隨機(jī)IO的問(wèn)題、方法與現(xiàn)實(shí)
  3. 一步一步設(shè)計(jì)你的數(shù)據(jù)庫(kù)之不可輕視的需求分析
  4. 養(yǎng)成一個(gè)SQL好習(xí)慣帶來(lái)一筆大財(cái)富

 

責(zé)任編輯:艾婧 來(lái)源: hoojo的博客
相關(guān)推薦

2011-07-13 14:02:42

OracleExcel

2023-12-18 16:07:15

2009-06-22 11:52:00

javascriptxml

2022-07-15 11:33:01

供應(yīng)鏈VR虛擬現(xiàn)實(shí)

2009-06-19 14:44:04

ODBCMySQL

2024-03-25 08:18:31

2011-08-08 15:25:42

iPhone SQLite BLOB

2020-09-24 16:05:44

C語(yǔ)言sqlite3函數(shù)

2018-03-07 15:24:41

PythonMySQL

2011-07-22 13:22:10

Java.NETDataTable

2011-09-02 09:51:21

2009-02-05 14:17:37

FTP服務(wù)器Java

2010-04-16 11:03:02

Oracle存儲(chǔ)過(guò)程

2011-03-21 13:28:14

MongoDB文件存取

2021-03-04 10:37:37

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

2021-04-02 06:35:49

Bash讀寫文件Linux

2018-03-27 18:12:12

PythonHTML

2011-03-15 09:10:47

iptablesNAT

2023-12-15 10:21:20

Java聲音識(shí)別

2022-12-02 08:17:27

JavaHTML標(biāo)簽
點(diǎn)贊
收藏

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

国产精品论坛| 中文字幕免费高清网站| 亚洲一区二区偷拍精品| 一区二区欧美久久| www.久久91| 日本在线视频中文有码| xfplay精品久久| 成人国产精品久久久久久亚洲| 国产在线欧美在线| 成人3d动漫在线观看| 日韩欧美一区中文| 日韩精品一区二区三区色欲av| av在线女优影院| 成人免费看黄yyy456| 国产精品久久久久久久久久小说 | 一道本在线视频| 亚洲香蕉网站| 中文字幕亚洲一区| 人妻在线日韩免费视频| 精品精品视频| 在线免费观看日韩欧美| 成人黄色大片网站| 欧洲日本在线| 国产午夜精品一区二区| 不卡一卡2卡3卡4卡精品在| 一级特黄免费视频| 夜夜爽av福利精品导航| 久久久精品在线观看| 日韩av在线看免费观看| 欧美国产不卡| 欧美不卡一二三| 亚洲va综合va国产va中文| 在线日韩影院| 亚洲aaa精品| 国产亚洲精品久久久久久久| 在线免费观看黄色| 国产三区在线成人av| 精品一区2区三区| 亚洲av无码一区二区三区dv| 激情综合色播五月| 精品久久久久中文字幕小说| 91电影在线观看| 女人喷潮完整视频| 成人国产电影在线观看| 亚洲一区二区三区自拍| 男人j进女人j| 国产鲁鲁视频在线观看特色| 国产精品国产馆在线真实露脸| 日本精品一区| 国产在线日本| 久久精品视频在线看| 欧美一区二区三区电影在线观看| 水中色av综合| 99在线精品观看| 久久国产精品99久久久久久丝袜 | 国产亚洲一区二区手机在线观看| 狠狠做深爱婷婷久久综合一区 | 免费看成人av| 日本一卡二卡四卡精品| 91丝袜高跟美女视频| 久久99精品久久久久久三级 | 精品国产自在精品国产浪潮| 成人性视频免费看| 婷婷激情图片久久| 欧美乱人伦中文字幕在线| 在线免费日韩av| 激情亚洲成人| 欧美最猛黑人xxxx黑人猛叫黄| 日韩在线观看你懂的| 91视频最新入口| 乡村艳史在线观看| 在线观看日韩av先锋影音电影院| 波多结衣在线观看| 成人污污视频| 亚洲成人av在线| 亚洲AV无码国产成人久久| 精品久久视频| 操日韩av在线电影| 国产主播在线观看| 老司机精品久久| 国产一区二区在线播放| 亚洲av无码片一区二区三区| 91视视频在线观看入口直接观看www | 中文字幕有码视频| 国产精品 日产精品 欧美精品| 国产99在线免费| 天堂91在线| 中文字幕免费一区| 激情五月五月婷婷| 小早川怜子影音先锋在线观看| 精品视频1区2区| 黄色国产在线视频| 国产探花在线精品| 欧美成人免费观看| 久久中文字幕免费| 国产一区在线视频| 欧美精品免费观看二区| 黄色在线免费网站| 日韩欧美国产激情| 污免费在线观看| 伊人久久大香线蕉| 欧美高清在线播放| 午夜一区二区三区四区| 国产成人免费高清| 亚洲精品电影在线一区| 黄页网站在线| 欧美男女性生活在线直播观看| 国产精品手机在线观看| 99热在线成人| 日本中文字幕成人| 国产91免费在线观看| 国产精品久久久久久亚洲毛片 | 999久久精品| 永久免费毛片在线播放不卡| 免费一级特黄特色大片| 久久草av在线| 欧美下载看逼逼| 成人免费高清观看| 91精品国产综合久久久蜜臀图片| 久久精品老司机| 国产精品99一区二区| 国产精品永久在线| 蝌蚪视频在线播放| 黄色成人在线免费| 激情小说欧美色图| 99久久99久久精品国产片果冰| 欧美一区第一页| 丰满人妻熟女aⅴ一区| 17c精品麻豆一区二区免费| aaa毛片在线观看| 蜜桃久久久久| 欧美福利小视频| av免费在线不卡| 国产精品家庭影院| 婷婷丁香激情网| 神马影视一区二区| 日本高清不卡在线| 亚洲 美腿 欧美 偷拍| 亚洲国产aⅴ天堂久久| 亚洲三级在线视频| 亚洲激情久久| 91亚洲精品久久久| 国产福利视频在线观看| 欧美日韩成人综合天天影院| 懂色av粉嫩av浪潮av| 全国精品久久少妇| 四虎影院一区二区三区 | 999精品在线观看| 直接在线观看的三级网址| 在线播放中文字幕一区| 久艹在线观看视频| 国产一区二区三区免费观看| 樱空桃在线播放| 免费观看性欧美大片无片| 久久久精品一区| 国产美女无遮挡永久免费| 18欧美亚洲精品| 国偷自产av一区二区三区麻豆| 国精品一区二区| 国产一区二区免费电影| 伊人色综合一区二区三区影院视频 | 亚洲va久久久噜噜噜无码久久| 亚洲精品乱码久久久久久黑人| 性xxxxxxxxx| 亚洲精品九九| 欧美二区在线| 成人亚洲视频| 日韩在线观看你懂的| 99久久一区二区| 亚洲第一搞黄网站| 六月婷婷七月丁香| 日本不卡一区二区| 日本福利视频导航| 精品按摩偷拍| 国产mv久久久| 黄色在线免费网站| 亚洲福利在线播放| 波多野结衣黄色网址| 国产精品乱人伦一区二区| 日韩精品――色哟哟| 亚洲深爱激情| 亚洲一区精彩视频| 51亚洲精品| 国产99久久精品一区二区永久免费 | 在线播放av中文字幕| 国产一区美女| 青青草原亚洲| 欧洲一区在线| 国产精品1234| 第一中文字幕在线| 伊人久久久久久久久久| 精品人妻一区二区三区麻豆91| 岛国av一区二区| 亚洲二区在线播放| 99re这里都是精品| 国产精品久久久久久久99| 久久国产精品亚洲77777| 一级特黄录像免费播放全99| 久久免费视频66| 成人免费在线网址| 成人免费影院| 蜜臀久久99精品久久久无需会员 | 中文字幕丰满人伦在线| 亚洲成人动漫一区| 三级黄色免费观看| 久久综合色天天久久综合图片| 999久久久精品视频| 亚洲专区免费| 看全色黄大色大片| 精品国产一区二区三区久久久樱花| 99re在线视频观看| 久久av影院| 奇门遁甲1982国语版免费观看高清| 国产盗摄在线观看| 在线看福利67194| 深夜福利在线看| 日韩欧美中文字幕一区| 中文字幕日韩第一页| 日韩欧美福利视频| 日本一本高清视频| 亚洲精品久久久久久无码色欲四季| 综合电影一区二区三区| 精品成人无码一区二区三区| av一区二区三区黑人| 图片区乱熟图片区亚洲| 免费不卡在线观看| 国产三级三级三级看三级| 一本色道久久综合亚洲精品高清| 狠狠干视频网站| 亚洲乱码精品| 中文字幕久久一区| 日本久久一二三四| 日韩伦理一区二区三区av在线| 香蕉久久精品日日躁夜夜躁| 国产精品久久久久久久久婷婷| 日韩精品一区二区三区中文字幕| 成人国产在线激情| 欧美高清免费| 国产欧美韩国高清| 国产在视频一区二区三区吞精| 国产91热爆ts人妖在线| 3d欧美精品动漫xxxx无尽| 青青青国产精品一区二区| 日韩影院在线| 国产69久久精品成人| 日韩激情电影| 国产a∨精品一区二区三区不卡| 女人高潮被爽到呻吟在线观看| 97热在线精品视频在线观看| 成人bbav| 国产99久久精品一区二区永久免费| 色8久久影院午夜场| 欧美一区二区三区……| gogo亚洲高清大胆美女人体| 国产精品久久av| 日本a人精品| 亚洲综合色av| 国产精品超碰| 欧美亚州在线观看| 日本不卡免费一区| 欧美日韩一区二区三区电影| 欧美 日韩 国产一区二区在线视频 | 亚洲天天影视网| 久久av高潮av| 在线亚洲成人| 色多多视频在线播放| 国内成人免费视频| 久久久无码人妻精品无码| www.色精品| 韩国三级hd中文字幕| 亚洲色图在线播放| 国产亚洲精品av| 日韩欧美中文第一页| 中文字幕在线网站| 日韩欧美一二三四区| 亚洲av成人无码网天堂| 亚洲欧洲日韩国产| 成人福利片网站| 91国在线精品国内播放| 日本成人福利| 91久久爱成人| 免费av一区二区三区四区| 欧美一级免费在线观看| 国产精品大片| 天天干在线影院| 粉嫩在线一区二区三区视频| 一二三不卡视频| 中文字幕色av一区二区三区| 国产一级在线观看视频| 在线观看欧美黄色| 亚洲国产精品suv| 在线观看欧美成人| 九色91在线| 国产精品美乳一区二区免费 | 亚洲欧美国产精品专区久久| 最新97超碰在线| 午夜精品一区二区三区在线视 | 午夜伦理大片视频在线观看| 欧美亚洲国产另类| 精品一区二区三区亚洲| 欧美成人综合一区| 欧美久久一级| 亚洲免费一级视频| 91美女视频网站| 日本午夜在线观看| 在线看日本不卡| 肥臀熟女一区二区三区| 日韩在线观看免费全| 伊人久久视频| 国产精品我不卡| 国产精品二区不卡| 手机看片福利日韩| 丁香婷婷综合色啪| 日韩一区二区不卡视频| 在线观看日韩电影| 你懂的好爽在线观看| 久久久久久久久综合| 一区二区三区| 日韩在线电影一区| 国产日韩免费| 国产精品成人99一区无码| 亚洲人成网站精品片在线观看| 久久精品五月天| 日韩精品中文字幕视频在线| 污污在线观看| 亚洲在线www| 国产精品久久久久久久久久10秀| 中文字幕国产传媒| 欧美高清在线视频| 中文字幕一区二区人妻视频| 日韩精品在线观看视频| 国产精品论坛| 国产精品国产精品| 国内精品福利| 久久av一区二区三| 亚洲黄色免费电影| 性一交一乱一精一晶| 欧美第一淫aaasss性| 国产精一区二区| 美女在线免费视频| 国产在线麻豆精品观看| 国产wwwwxxxx| 欧美美女网站色| 久久综合之合合综合久久| 成人精品福利视频| 午夜欧美精品| 无码人妻一区二区三区免费n鬼沢| 一区二区三区丝袜| 成人1区2区3区| 久久久影视精品| 久久97精品| 成人av一级片| 久久精品免视看| 中文字幕乱伦视频| 色噜噜狠狠色综合网图区| 成人网av.com/| a级黄色片免费| 成人av动漫在线| 亚洲精品男人天堂| 亚洲欧洲黄色网| 亚洲欧美一级| 激情小视频网站| 91小视频免费看| 自拍偷拍校园春色| 久久精品国产69国产精品亚洲| 看亚洲a级一级毛片| 真人抽搐一进一出视频| 91蜜桃传媒精品久久久一区二区| 91porny九色| 久久黄色av网站| 成人三级av在线| 日本中文字幕片| 国产精品久久久久久久久久久免费看 | 亚洲精品视频播放| 日韩成人亚洲| www.-级毛片线天内射视视| 国产99久久久国产精品潘金网站| 91午夜视频在线观看| 亚洲欧美日韩网| 国产精品xnxxcom| 久久综合九色综合88i| 国产欧美日韩在线观看| 国产高清免费在线观看| 欧美最猛性xxxx| 亚洲激情中文| 这里只有久久精品| 日韩一级完整毛片| 日韩av中字| 欧美大黑帍在线播放| 中文字幕成人网| 亚洲免费国产视频| 国产精品久久久久久久久久ktv | 神马日本精品| 少妇愉情理伦片bd| 日韩欧美一区二区三区久久| 91精品久久| 神马欧美一区二区| www.性欧美| www日本在线| 国产精品视频专区|