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

淺談標準SQL數據庫訪問界面—JDBC API

開發 后端
隨著Java語言應用面的逐步拓寬,Sun Microsystems 公司開發了一個標準的SQL數據庫訪問界面——JDBC API。它可以使Java編程人員通過一個一致的界面,訪問多種關系數據庫。

JDBC API定義了一系列Java類,用來表示數據庫連接、SQL語句、結果集、數據庫元數據等,能夠使Java編程人員發送SQL語句和處理返回結果。 JDBC API由一個驅動程序管理器實現對連接到不同數據庫的多個驅動程序的管理。JDBC驅動程序可以全部由Java語言編寫,也可以由本地化方法來實現與現有數據庫訪問接口的連接。

一、總體結構 Java應用程序通過JDBC API界面訪問JDBC管理器,JDBC管理器通過JDBC驅動程序API訪問不同的JDBC驅動程序,從而實現對不同數據庫的訪問。

1.JDBC API

JDBC API定義了一系列抽象Java界面,可以使應用程序員連接到指定的數據庫,執行SQL語句和處理返回結果。其功能結構如圖2所示。 @@I2;圖2 JDBC API主要功能結構@@ JDBC API中重要的界面有: java.sgl.DriverManager:完成驅動程序的裝載和建立新的數據庫連接。 java.sgl.Connection:表示對某一指定數據庫的連接。 java.sgl.Statement:管理在一指定數據庫連接上的SQL語句的執行。 java.sgl.ResultSet:訪問一指定語句的原始結果。 java.sgl.Statement:界面有兩個重要的子類型:ja-va.sgl.PreparedStatement (用于對預編譯的SQL語句的執行)和java.sgl.CallableStatement(用于對一個數據庫存儲過程的執行)。

2. JDBC驅動程序界面

數據庫驅動程序中必須實現在JDBC API中定義的抽象類,尤其是對java.sgl.Connection、java.sgl.Prepared-Statement、java.sgl.CallableStatement和java.sgl.Re-sultSet的實現。此外,每一個數據庫驅動程序必須提供一個類實現 java.sgl.Driver界面,用于通用的java.sgl.DriverManager類,使其在對一個指定的數據庫URL訪問時可以查找相應的驅動程序。 Sun Microsystems公司提供了一個JDBC對ODBC的連接橋,如圖1中 JDBC-ODBC橋接驅動程序所示。由于是建立在ODBC基礎之上,所以具有規模較小而效率高的特點。

3.用戶典型使用模式

(1)Applet模式 使用Java語言編制 Applet,作為 WWW文檔的一部分在Internet上發布,由瀏覽器對其下載,并運行。其中,可能會有部分Applet需要訪問數據庫,則可通過使用JDBC API實現,由于未信任的Applet不能訪問本地文件和對任意主機建立網絡連接,JDBC必須遵守標準Applet的安全模型,所以此種應用模式有諸多安全方面的限制。對信任的Applet,其安全模型類似于Java應用程序。

(2)應用程序模式 在應用程序中,Java代碼是信任的,因而可以讀寫本地文件和建立網絡連接。應用示意如圖4所示。 @@I4;圖4 應用程序應用模式@@ 此種應用模式非常適合intranet(內部網)應用。當然該模式也能夠通過Internet訪問數據庫。 二、JDBC API 1.JDBC界面定義 JDBC API包含java.sgl的界面和類。 java.sgl.CallableStatement:用于執行存儲的SQL過程的界面。 java.sgl.Connection: 一個連接表示與某一指定數據庫的一個會話。在該連接中可以執行SQL語句和處理返回結果。 java.sql.DataTruncation:當JDBC碰到意外數據截斷時,報告一個警告(讀數據時)或產生一個異常(寫數據時)。 java.sql.Date:是標準java.util.date的一個子集,只表示天數,而不包含時、分、秒。 java.sql.Driver:定義一個在每一個數據庫驅動程序中必須實現的驅動程序界面。 java.sql.DriverManager:提供對全局SQL狀態的訪問。 java.sql.DriverPropertyInto:提供高級程序員與驅動程序之間對連接特性信息進行交互的手段。 java.sql.NullData:當由getXXX或getObiect方法讀出一個SQL空值時,產生一個NullData警告。 java.sql.Numeric:是一個任意精度標量數值類,可用作表示SQL定點Numerlc和Decimal類型的數值。 java.sql.PreparedStatement:保存一個預編譯的SQL語句的對象,該對象可被高效地執行多次。 java.sql.ResultSet:結果集提供對執行一個SQL語句后產生的結果表的訪問。表中數據按行依次取出。為便于移植,建議對每一行數據從左至右按列讀出。 java.sql.SQLException:處理數據庫訪問時的出錯信息。 java.sql.SQLWarning:處理數據庫訪問時的警告信息。 java.sql.Statement:用作執行一條靜態的SQL語句并接收產生的結果。 java.sql.Time:用于表示標準java.util.date類的一個信息子集,僅表示時、分、秒。 java.sql.Timestamp:擴展標準java.util.date類,使其能夠表示SQL的時間戳,增加了一個以納秒為單位的時間域。 java.sql.Types:定義區分SQL類型的常量。類常量值與XOPEN中的值相同。 此外,JDBC API 還定義了JDBC元數據界面java.sql.DatabaseMetaData 和java.sql.ResultSetMetaData。 @@I5;圖5 界面之間的關系@@ 界面間的關系由圖5表示,其中箭頭表示函數,而線表示其它方法。

2.數據庫連接

(1)建立一個連接 用戶在訪問數據庫時,需要在JD-BC管理層由 java.sql.DriverManager.getConnection方法產生一個java.sql.Connection對象。該方法使用一個數據庫URL串作為參數。

(2)選擇合適的驅動程序 在數據庫URL中,可以指定驅動程序的名稱,也可以不指定。如果不指定驅動程序,則從Java特性"sql.drivers"所指出的驅動程序表中依次搜尋,使用***找到的可成功連接的驅動程序。

(3)數據庫URL 在連接時,由數據庫URL參數指定要連接的數據庫,此時可稱為JDBC URL,其格式為: jdbc:<子協議>:<子名稱> 如果是對網絡數據庫訪問,那么建議用戶使用標準URL作為子名稱的一部分。比如對數據資源名為fred訪問的URL可能是: jdbc:odbc:fred 或jdbc:dbnet://wombat:356/fred 子協議odbc表示對ODBC數據資源的訪問,其格式為: jdbc:odbc:<數據資源名>[;<屬性名>=<屬性值>]* ·連接參數:由java.util.Properties對象指出。建議大多數參數不要在此處給出,而在協議中指出。 ·支持多連接:一個應用程序可以使用一個或多個驅動程序建立與多個數據庫連接。 ·驅動程序的注冊:有兩種方法,一是在JDBC java.sql.DriverManager類初始化時查找"sql.drivers"特性,對每一個驅動程序自動注冊;二是由標準 Class.forName方法顯式加載一個驅動程序,參數為驅動程序名。

3.參數傳遞和結果接收

(1)查詢結果 執行一條查詢語句后,返回結果是可由java.sql.ResultSet對象訪問的行的集合。在該對象中提供了一系列"get" 方法,訪問當前的每一列,Result-Set.next方法可實現在結果集的行之間移動,可以使用列索引或列名指定相應的列。 ·查詢結果的數據轉換。 ResultSet.getXXX方法可以把SQL類型轉化為需要的Java類型。若指定一個非法的類型轉換時,則產生一個SQLException的異常。 ·空值判斷。先讀出某一列數據,然后使用Result-Set.wasNull方法,判斷返回結果是否是SQL"NULL"。 ·長數據的讀出。JDBC支持由getByte和getString 方法讀出任意長的LONGVARBINARY或LONGVAR-CHAR類型數據,也支持由方法GetBinaryStream、GetAsciiStream 和 GetUnicodeStream返回數據流來讀出數據。 ·支持用getResultSet、GetUpdateCount 和 Get-MoreResults方法分別返回一條結果、返回被修改的行數和返回多條結果。

(2)傳遞IN參數 java.sql.PreparedStatement界面提供了一系列setXXX方法向SQL語句傳遞參數,實現動態的SQL語句。 在傳遞參數時必須滿足數據類型一致的要求。因此必須預先調用類型轉換方法完成數據轉換,同時也提供了傳遞SQL空值和長數據給IN參數的方法。

(3)接收OUT參數 在調用一個存儲過程時,可用setXXX方法傳遞IN參數,使用OUT參數接收返回結果。在使用時必須先調用CallableStatement.register-OutParameter方法為每一個OUT參數進行類型注冊,然后執行該過程調用語句,***使用getXXX方法取出OUT參數的結果。 返回結果的數據類型是與用戶注冊的SQL類型相對應的Java類型。空值的處理步驟是,先讀出參數值,再用CallableStatement.was-Null方法判斷是否為空值。 不支持以流形式讀出OUT參數的機制。 接收時返回結果的順序優先于OUT參數。

(4)數據截斷 在某種條件下,有可能在讀或寫數據時出現數據截斷,如當由Connection.setMaxField-Size設置了一個域的***長度時,超過設置長度后的數據就被截斷。 在讀數據時,如出現數據截斷,則產生一條Data-Truncation 的 SQLWarning警告。在寫數據時,如發生數據截斷,則產生一個DataTruncation的SQLException異常。

4. SQL數據類型到Java類型的轉換 由于SQL數據類型與Java數據類型之間差異較大,可相互轉換的類型之間還是存在一些不一致的地方,因此JDBC提供了詳細的從SQL類型到Java類型的標準轉換表和從Java類型到SQL類型的標準轉換表。

三、進一步了解JDBC API 1.異步、線程和交易

(1)異步請求 某些數據庫API (比如ODBC) 提供了SQL語句異步執行的機制,這樣可使一個數據庫的操作在后臺運行的同時,前臺一邊等待一邊處理其它操作。 由于Java提供多線程機制,因此并不真正需要實現異步SQL語句的執行。當需要異步執行時,可通過創建一個新線程來實現數據庫操作。

(2)多線程 對java.sql的所有對象的操作是多線程安全的,并且當多個線程同時訪問一個對象時,也保證操作的正確性。盡管不同的驅動程序其并發執行程度可能不同,但開發人員可以假定為完全并發執行的。因為驅動程序若需要某種形式的同步操作,則一定會提供相應的實現機制。 另一個多線程的特殊應用是可以取消一個執行時間過長的語句操作。具體做法是啟動另一個線程調用Statement.cancel()方法

(3)交易 每一個新的JDBC連接都初始化為"自動提交"模式,即意味著每一條語句作為一個分開的交易來執行。 當需要把多條語句作為一個完整的交易來執行時,可以調用Connection.setAutoCommit(false)方法,取消自動提交。執行完一個交易后,調用Connection.Commit顯式完成提交,或調用Connection.rollback卷回整個交易操作。 當一個交易被提交或卷回后,關閉所有在此連接上的PreparedStatements、CallableStatements和ResultSets,只有簡單的Statements是打開狀態。

2.指針

JDBC支持簡單指針,這里說的指針是指SQL數據庫中的概念。應用程序可以用ResultSet.GetCursorName()方法,取得與當前Resultset相關聯的指針,利用該指針可以對當前行進行修改和刪除。 指針的有效期是到ResultSet或其父語句結束。

3.對SQL的擴充 JDBC全部支持SQL-2基本(Entry)級規范,部分支持SQL-2過渡(Transitional)級規范。對SQL-2基本級擴充有二點:一是支持DROP TABLE命令;二是選定的過渡級語義必須通過Escape語法來支持,以便一個驅動程序可以方便地掃描和翻譯成特定DBMS語法。

(1) SQL Escape語法 在存儲過程、標量函數、日期、時間、輸出連接等方面,JDBC支持與ODBC相同的DBMS無關的Escape轉義語法,格式為: {關鍵字……參數……}

(2)存儲過程 JDBC中激活一個存儲過程語法格式是: { call 過程名[參數1,參數2,…] } 或者是帶返回結果參數的過程: { ? = call 過程名[參數1,參數2,…] } (3)時間和時期文字量 JDBC支持這些文字量的ISO標準格式,用Escape轉義的語句表示時間和日期,如{ d 'yyyy-mm-dd'}或{ t 'nn:mm:ss'} 分別表示日期或時間。

(4)標量函數 JDBC支持標量值的數值、串、時間、日期、系統和轉換函數,如,{ fn concat ("Hot", "Java") }。

(5)輸出連接 語法格式為:{ oj outer-join } 其中outer-join形式為: table LEFT OUTER JOIN { table( outer-join} ON search-condition

4.動態數據庫訪問

盡管我們希望JDBC程序員在編程時能夠了解數據庫的模式,以便使用強類型的JDBC界面對數據庫進行訪問。但一個應用程序,有時需要動態得到數據庫模式,并以此信息完成相應的動態數據庫訪問。

(1)元數據信息 JDBC能夠對元數據進行訪問,比如行結果描述、語句參數、數據庫特性等。 Java.Sql.ResultSetMetaData類型提供了大量方法去獲得一個指定 Java.sql.ResultSet對象列的類型和特性。 Java.Sql.DatabaseMetaData界面提供一系列方法去獲得與某一數據庫相關聯的各種元數據,包含數據庫的過程、表、模式等和表中的列、列的訪問權、表的訪問權等信息。

(2)動態類型數據訪問 JDBC使用ResultSet.getObject、PreparedStatement.setObject和CallableStatement.getObject方法支持更一般的數據訪問。動態訪問時從SQL類型到Java對象類型的轉換表和從Java對象類型到SQL類型的轉換表在此就不加以列舉了。但上述三個方法中類型轉換的依據是這兩張表。

四、結束語

Java語言提供了訪問數據庫的API,這非常有助于其拓寬應用范圍。由于目前僅實現了一個基礎的API,所以希望開發人員以此為基礎,建立更高級的類和應用工具,同時,也希望諸多開發商提供多種數據庫驅動程序,以滿足編程人員訪問不同數據庫資源的需要。

【編輯推薦】

  1. 談談優化JDBC數據庫編程
  2. 實例說明對MySQL的JDBC連接設置
  3. 淺談如何利用JSP網頁中JDBC代碼連接MySQL
  4. 淺談JDBC代碼如何重復使用
  5. 如何進行Jython數據庫插入(JDBC)
責任編輯:彭凡 來源: ccw.com.cn
相關推薦

2009-07-01 16:01:58

JSP數據庫

2011-06-24 15:57:35

SQL AzureDAC

2009-07-14 17:18:23

JDBC怎么連接數據庫

2009-07-20 15:56:08

JDBC連接數據庫步驟

2009-07-07 17:42:28

2016-10-27 13:40:02

編程語言 數據庫

2009-07-15 16:23:54

Java JDBC

2009-03-16 09:09:18

數據庫JDBCJSP

2009-07-02 09:00:25

JDBC設計JSP訪問數據庫

2009-09-15 10:02:44

Linq to SQL

2009-04-10 09:22:48

SQL Server并發測試

2009-07-20 15:42:59

JDBC是什么

2020-08-31 07:00:00

數據庫數據庫同步

2009-07-14 18:13:36

Microsoft J

2009-05-14 14:23:25

微軟ado.netLINQ

2021-11-26 22:07:57

數據庫管理Mongodb

2009-07-20 16:40:55

JDBC訪問SQL S

2009-07-16 17:22:56

JDBC數據庫編程

2009-07-06 17:23:34

JDBC連接數據庫

2009-12-02 10:33:34

LINQ to SQL
點贊
收藏

51CTO技術棧公眾號

五月天激情视频在线观看| 日韩免费电影一区二区| 日本免费观看视| 精品大片一区二区| 日韩视频免费观看高清完整版在线观看 | 亚洲视频在线视频| 日韩欧美色视频| 超碰aⅴ人人做人人爽欧美| 中文字幕在线观看不卡视频| 国产欧美日韩亚洲| 一二三四区在线| 亚洲激情二区| 久久精品亚洲一区| caopeng视频| 99ri日韩精品视频| 欧美乱妇一区二区三区不卡视频| 欧美一级免费播放| 米奇精品一区二区三区| 91在线一区二区三区| 亚洲一区二区免费在线| 成人黄色免费网| 一区二区三区四区五区在线| 不卡毛片在线看| jizz18女人高潮| 亚洲国产欧美日韩在线观看第一区 | 26uuu精品一区二区| 亚洲一区二区三区乱码aⅴ| 国产91av在线播放| 午夜在线精品| 91极品女神在线| www.99re7| 91视频精品| 国产一区二区三区在线播放免费观看| 白嫩情侣偷拍呻吟刺激| 精品国产不卡一区二区| 欧美电影一区二区| www.激情小说.com| 欧美极品影院| 日韩欧美高清在线视频| 日韩人妻无码精品久久久不卡| 国产黄色在线观看| 国产精品久久夜| 伊人久久99| 欧美一级二级三级区| 国产精品婷婷午夜在线观看| 欧美精品国产精品久久久 | 亚洲免费中文字幕| 日韩 中文字幕| 国产精品天天看天天狠| 精品久久99ma| xxxx黄色片| 成功精品影院| 日韩久久精品电影| 日本xxx在线播放| 亚洲男人都懂第一日本| 精品在线欧美视频| 亚洲AV无码片久久精品| 免费视频一区三区| 亚洲一二三在线| www中文在线| 亚洲综合专区| 欧美精品国产精品日韩精品| 国产精品30p| 99精品免费视频| 国产97在线|亚洲| 在线免费观看一区二区| 久久99国产精品久久99| 91丝袜美腿美女视频网站| 国产乱子伦精品无码码专区| 国产精品资源在线观看| 国产精品久久久久久久小唯西川| 欧洲精品久久一区二区| 91麻豆国产自产在线观看| 日韩福利视频| 免费黄色网页在线观看| 一区二区三区小说| 欧美精品自拍视频| 亚洲mmav| 日韩欧美在线影院| 国产人妻人伦精品1国产丝袜| 国产精品视频一区二区三区四蜜臂| 中文字幕一区二区三区电影| 欧美人妻精品一区二区免费看| 一区免费在线| 国产精品视频自在线| 成 人 黄 色 片 在线播放 | 国产精品嫩草在线观看| 三级在线电影| 亚洲视频在线一区观看| 三上悠亚久久精品| 国产极品久久久久久久久波多结野 | 国产色婷婷亚洲99精品小说| 黄色网络在线观看| 午夜欧美激情| 91麻豆精品国产91久久久久久| 日韩精品视频一区二区| 精品久久久久久久久久久下田| 九九热这里只有精品6| 中文字幕高清在线免费播放| 精品午夜久久福利影院| 国产综合动作在线观看| 日本在线观看| 一本一道综合狠狠老| 91视频福利网| 国产精品嫩草影院在线看| 欧美激情啊啊啊| 亚洲最大成人av| 99久久夜色精品国产网站| 中文字幕一区二区三区四区五区六区 | re久久精品视频| 97国产真实伦对白精彩视频8| 一区二区三区在线免费观看视频| 99国产精品国产精品毛片| 一区精品视频| 欧美在线va视频| 亚洲精品国产福利| 91高清免费看| 免费观看成人鲁鲁鲁鲁鲁视频| 精品日产一区2区三区黄免费 | 欧美丰满日韩| 国产精品久久国产精品99gif| 少妇高潮一区二区三区99小说| 日韩理论片一区二区| 亚洲色图38p| 中文字幕伦av一区二区邻居| 久久久亚洲成人| 国产高清免费在线观看| 国产精品视频线看| www.亚洲天堂网| 国产精品毛片久久久| 精品中文字幕在线| 国产精品无码专区av免费播放| 国产视频一区二区在线观看| 鲁一鲁一鲁一鲁一澡| 99热这里只有精品首页 | 亚洲国产精品va| 日韩精品人妻中文字幕| 成人精品一区二区三区中文字幕| 黑人巨茎大战欧美白妇| 福利一区三区| 欧美成年人视频| www香蕉视频| 亚洲一二三区在线观看| 日韩精品国产一区| 欧美日一区二区在线观看| 91精品国产99久久久久久红楼| 黄色在线免费| 日韩久久久精品| 精品97人妻无码中文永久在线 | 午夜在线精品偷拍| 欧美国产一二三区| 欧美人与性动交xxⅹxx| 亚洲天堂2020| 一级黄色片在线看| 亚洲欧美日本韩国| 精品人妻二区中文字幕| 亚洲精选在线| 日韩中文一区二区三区| 久久久加勒比| 美女黄色丝袜一区| 亚洲精品人妻无码| 日韩欧美国产成人| 九一在线免费观看| 国内一区二区在线| 久青草视频在线播放| 欧美挤奶吃奶水xxxxx| 国产99久久精品一区二区永久免费 | 国产精品美日韩| 日本亚洲一区二区三区| 欧美色综合网| 久久一区免费| 亚洲黑人在线| 国语自产精品视频在线看一大j8 | 日本美女一级视频| 91高清视频在线| 黑人操日本美女| 大尺度一区二区| 日韩在线xxx| 91九色精品国产一区二区| av一区二区三区四区电影| 在线观看特色大片免费视频| 中文字幕不卡av| 午夜精品久久久久久久96蜜桃 | 污视频网址在线观看| 国产精品a久久久久| 久久99精品久久久水蜜桃| 日韩欧美一区二区三区免费观看 | 竹内纱里奈兽皇系列在线观看| 中文字幕久热精品视频在线| 精品国自产拍在线观看| 日韩欧美亚洲国产一区| 老熟妇高潮一区二区三区| 91麻豆精东视频| 午夜免费一级片| 久久一区国产| 欧美一区二区视频在线播放| blacked蜜桃精品一区| 官网99热精品| 只有精品亚洲| 日韩美女免费线视频| 国产黄色大片在线观看| 国产午夜一区二区| 亚洲爱爱综合网| 欧美日韩一区二区三区免费看| 日本三级理论片| 亚洲日本丝袜连裤袜办公室| 91网站免费视频| 成人18精品视频| 国产福利精品一区二区三区| 久久av最新网址| 男人日女人视频网站| 亚洲91视频| 亚洲电影网站| 亚洲日产av中文字幕| 国产美女精品在线观看| 伊人久久综合网另类网站| 国产高清在线不卡| 一本大道色婷婷在线| 久久久久久久亚洲精品| 宅男在线观看免费高清网站| 最近中文字幕mv在线一区二区三区四区 | 日韩成人精品一区二区三区| 日韩av毛片网| 这里有精品可以观看| 97色在线观看| 爱看av在线| 久久91超碰青草是什么| 国产在线观看a| 久久精品国产精品亚洲| 国产粉嫩一区二区三区在线观看| 日韩精品免费综合视频在线播放 | 伊人伊人伊人久久| 精品一二三区视频| 亚洲人成电影在线播放| 青青草免费在线视频| 日韩精品视频观看| 性xxxx18| 亚洲精品aⅴ中文字幕乱码| 少妇高潮一区二区三区69| 精品免费国产二区三区| 丰满人妻一区二区三区免费视频| 91精选在线观看| 精品国产一级片| 精品99一区二区三区| 隣の若妻さん波多野结衣| 精品裸体舞一区二区三区| 亚洲av无码乱码在线观看性色| 日韩限制级电影在线观看| 国产成人精品av在线观| 日韩精品一区二区三区在线| 亚洲精品字幕在线观看| 亚洲国产精品网站| 天天干,夜夜操| 亚洲欧美一区二区三区四区| a视频网址在线观看| 日韩少妇与小伙激情| 宅男网站在线免费观看| 性色av一区二区三区在线观看| 日韩欧美精品一区二区三区| 国产成人极品视频| 日韩美香港a一级毛片| 亚洲一区二区在线| 国产香蕉精品| 日韩中文一区二区三区| 亚洲精品va| 日韩精品视频在线观看视频| 国产精品日韩精品欧美精品| 欧美三级理论片| 国产剧情av麻豆香蕉精品| 北京富婆泄欲对白| 久久精品免费在线观看| 99鲁鲁精品一区二区三区| 亚洲高清视频在线| 亚洲GV成人无码久久精品| 欧美日韩国产片| 高h放荡受浪受bl| 亚洲欧美制服丝袜| 浪潮av一区| 欧美一级免费看| 欧洲美女精品免费观看视频| 成人在线视频网址| 视频一区在线观看| 黄色一级片av| 久久亚洲二区| 99久久综合网| 国产精品五月天| 日本特黄一级片| 在线播放国产精品二区一二区四区 | 538任你躁在线精品视频网站| 欧美日韩国内自拍| 国产精品久久久久久在线| 日韩电影大全免费观看2023年上 | 亚洲伦在线观看| 亚洲大片免费观看| 日韩免费在线观看| 大胆av不用播放器在线播放 | 国产一区二区三区视频| 日韩免费影院| 国产区亚洲区欧美区| 思热99re视热频这里只精品| 在线观看18视频网站| 日韩精品电影在线观看| xfplay5566色资源网站| 国产精品传媒在线| 黄色在线视频网址| 欧美成人三级在线| av在线1区2区| 国产91色在线播放| 噜噜噜狠狠夜夜躁精品仙踪林| 一区二区三区四区五区精品 | 综合一区av| 中文字幕视频在线免费观看| 91欧美一区二区| 青青草原国产视频| 欧美夫妻性生活| av在线播放免费| 日本电影亚洲天堂| 国产精品久久久久av蜜臀| 人妻无码一区二区三区四区| 麻豆国产欧美日韩综合精品二区| 亚洲一区二区观看| 亚洲v精品v日韩v欧美v专区| 国产三级小视频| 精品国产拍在线观看| julia一区二区三区中文字幕| 久久综合福利| 午夜亚洲伦理| 在线不卡av电影| 欧美性猛交xxxx偷拍洗澡| 欧美一区二区三区激情| 国产做受69高潮| 狠狠久久伊人| 999在线观看视频| 99精品国产91久久久久久| 欧美精品亚洲精品日韩精品| 亚洲第一福利网站| аⅴ资源天堂资源库在线| 国产精品美女诱惑| 亚洲视频中文| 亚洲精品第二页| 亚洲超碰精品一区二区| 日本黄色不卡视频| 午夜精品在线观看| 亚洲盗摄视频| 美女黄色片视频| 亚洲欧洲精品一区二区三区| 91中文字幕在线播放| 久久综合九色九九| 91久久精品无嫩草影院| 亚洲精品久久久久久久蜜桃臀| 高清不卡一二三区| 国产成人无码精品| 亚洲男人av在线| 成人国产精品入口免费视频| 在线观看成人av| 国产精品夜夜爽| 国产五月天婷婷| 亚洲精品永久免费| avav成人| 50度灰在线观看| av一区二区三区黑人| 一级黄色在线观看| 日韩中文字幕视频在线| 视频亚洲一区二区| 亚洲不卡中文字幕无码| 国产日产亚洲精品系列| 一区二区www| 久久久久久久久久久亚洲| 亚洲v天堂v手机在线| 污污网站在线观看视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲男人天堂久久| 国产成人小视频在线观看| 亚洲精品国产偷自在线观看| 无码任你躁久久久久久老妇| 色94色欧美sute亚洲线路一久| 日本在线视频网| 国产日韩一区二区| 日本强好片久久久久久aaa| 精品国产视频在线观看| 亚洲精品日韩欧美| 亚洲精品69| 欧美日韩亚洲一| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲男人第一网站| 国产一区二区| 欧美极品欧美精品欧美图片| 亚洲欧美另类在线| 欧美精品少妇| 成人午夜电影在线播放| 日韩成人一区二区三区在线观看| 国内偷拍精品视频| 亚洲无av在线中文字幕| 51社区在线成人免费视频| 四季av一区二区| 午夜视频在线观看一区| 欧美成人高清在线| 日本不卡一区二区三区在线观看| 国产精品综合一区二区三区| 波多野结衣影片|