精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

97视频热人人精品免费| www在线免费观看视频| 久久aⅴ国产紧身牛仔裤| 一区二区欧美日韩视频| 爱爱爱爱免费视频| av美女在线观看| 国产日韩高清在线| 成人xxxxx色| 黄色污污视频软件| 国产一区二区三区四区三区四| 日韩高清av一区二区三区| 久久久久久蜜桃一区二区| xxxx成人| 自拍av一区二区三区| 久久资源av| 国产av精国产传媒| 日本aⅴ精品一区二区三区| 欧美激情一区二区三区在线视频观看| 黄色工厂在线观看| 韩国一区二区三区视频| 色偷偷88欧美精品久久久| 激情视频小说图片| av在线三区| 91玉足脚交白嫩脚丫在线播放| 国产精品亚洲一区二区三区| 国产精品500部| 亚洲综合激情在线| 中文字幕在线成人| 91成年人网站| 日韩高清成人在线| 亚洲国产欧美在线成人app | 国产在线观看h| 欧美1区2区3| 欧美日韩大陆在线| 爱情岛论坛vip永久入口| 天堂网在线最新版www中文网| 亚洲嫩草精品久久| 欧美日韩亚洲国产成人| melody高清在线观看| 久久精品亚洲一区二区三区浴池| 国产自产在线视频一区| 成人乱码一区二区三区| 国产高清成人在线| 亚洲一区二区中文字幕| 国产精品久久久久久久一区二区| 日本欧美一区二区三区乱码| 日产日韩在线亚洲欧美| 久久久成人免费视频| 国产日韩欧美高清免费| 69国产精品成人在线播放| 久久午夜无码鲁丝片午夜精品| 999视频精品| 日韩视频免费大全中文字幕| 日韩av毛片在线观看| 欧美h版在线| www国产91| 日本一区二区视频在线播放| 亚洲色图丝袜| 亚洲人成网在线播放| 日本乱子伦xxxx| 成人一二三区| 精品国内产的精品视频在线观看| 国产福利在线导航| 久久久久国产精品| 欧美另类暴力丝袜| 麻豆国产尤物av尤物在线观看| 欧美另类专区| 91精品国产乱码久久久久久蜜臀| 欧美一二三区视频| 久久久蜜桃一区二区人| 国产精品无av码在线观看| 国产一区二区网站| 丰满少妇久久久久久久| 久久国产精品久久| 国产大片在线免费观看| 中文字幕中文字幕一区二区| 亚洲激情免费视频| 擼擼色在线看观看免费| 91久久线看在观草草青青| 亚洲 欧美 日韩系列| 精品国产三区在线| 亚洲精品一区中文| fc2ppv在线播放| 国产精品大片| 国产999视频| 国产强伦人妻毛片| 97久久久精品综合88久久| 日韩资源av在线| 黄色免费在线观看| 黑人精品xxx一区| 亚洲久久中文字幕| 国产毛片久久久| 中文字幕精品在线视频| 久久人人爽人人爽人人| 青青草精品视频| 成人在线看片| √新版天堂资源在线资源| 亚洲一区二区三区中文字幕| 日韩视频免费在线播放| 欧洲精品99毛片免费高清观看| 日韩av在线免费观看一区| 啪啪一区二区三区| 国产亚洲福利| av免费观看久久| 高清av在线| 午夜视频在线观看一区二区 | 亚洲色图18p| 欧美精品色哟哟| 全部av―极品视觉盛宴亚洲| 国产精品青青草| 日本在线人成| 一本一道综合狠狠老| 中国特级黄色片| 久久网站免费观看| 国产97色在线|日韩| 全部免费毛片在线播放一个| 亚洲天堂2014| 黄色片视频在线| 同性恋视频一区| 高清欧美性猛交xxxx黑人猛交| 中文字幕网址在线| 国产日本亚洲高清| 国产91xxx| jizz18欧美18| 久久综合电影一区| 中文字幕在线观看1| 久久影视一区二区| 久在线观看视频| 国产精品香蕉| 欧美国产日韩精品| 国产黄色一区二区| 1区2区3区欧美| 蜜桃免费在线视频| 日韩在线观看| 国产精品情侣自拍| jizz在线免费观看| 欧美少妇性性性| 免费观看a级片| 久色成人在线| 日韩欧美亚洲在线| 欧洲亚洲两性| 国产午夜精品免费一区二区三区| 精品美女久久久久| 91啪亚洲精品| 男人靠女人免费视频网站 | 国产伦精品一区二区三区免费迷 | 亚洲一区在线| 国产aaa精品| 青梅竹马是消防员在线| 午夜精品一区二区三区免费视频| 一级黄色电影片| 国内自拍视频一区二区三区 | 精品人妻无码一区二区三区蜜桃一| 国产精品乱码久久久久久 | 丰满岳乱妇一区二区三区| 免费的av在线| 国产精品极品| 日韩av免费在线观看| 国产中文字幕在线| 欧美色男人天堂| 色偷偷www8888| 国产麻豆91精品| 国产精品久久久久久久久电影网| gogo人体一区| 国产999精品久久久影片官网| www亚洲人| 欧美一区日韩一区| 国产在线欧美在线| 久久久亚洲午夜电影| 久久99爱视频| 黄色av日韩| 鲁片一区二区三区| 丁香久久综合| 久久99精品久久久久久噜噜| 五月天久久久久久| 欧美性猛交一区二区三区精品| 日韩三级在线观看视频| 成人美女视频在线看| 日本成人在线免费视频| 成人免费在线观看av| 91手机在线播放| 日韩伦理在线| 久久久精品999| 黄色一级a毛片| 欧美亚一区二区| 久久亚洲AV无码| 中文字幕精品在线不卡| 激情av中文字幕| 日日摸夜夜添夜夜添国产精品| 免费观看国产视频在线| 同性恋视频一区| 91日本在线视频| 少妇一区视频| 欧美福利视频在线观看| 国产免费av在线| 精品99999| 91好色先生tv| 日韩欧美在线观看视频| 日韩va亚洲va欧美va清高| 久久综合色播五月| 男人的天堂免费| 蜜臀av一区二区| 97国产在线播放| 欧美成人国产| 五月天亚洲综合小说网| 久久精品福利| 亚洲一区二区三区四区在线播放| 欧美日韩成人影院| 久久久亚洲成人| 国产在线更新| 中文字幕国产亚洲| 三级毛片在线免费看| 欧美videos中文字幕| 一级片视频播放| 一本色道a无线码一区v| 日韩成人高清视频| 亚洲欧美日韩国产综合| 波多野结衣一二三四区| 91在线porny国产在线看| 日本50路肥熟bbw| 国产酒店精品激情| 手机免费看av网站| 另类中文字幕网| 国产成人手机视频| 性欧美videos另类喷潮| 欧美 丝袜 自拍 制服 另类| 亚洲电影av| 国产 欧美 日韩 一区| 久久久久电影| 小说区视频区图片区| 日韩精品一区二区久久| 日韩一本精品| 国产一区二区三区网| 欧美精品亚洲精品| 亚洲区小说区| 久热这里只精品99re8久| 婷婷精品在线| 久久av免费观看| 色婷婷av一区二区三区丝袜美腿| 国产一区在线免费观看| 成人黄色av网址| 国产精品区一区二区三在线播放| 日韩欧洲国产| 高清免费日韩| 国产精品一线| 欧美精品中文字幕一区二区| 宅男在线一区| 日韩免费中文专区| 日韩欧美高清| 热这里只有精品| 欧美jizzhd精品欧美巨大免费| 久久久99精品视频| 国内精品美女在线观看| 欧美精品久久久久久久久久久| 亚洲黄页一区| 99热成人精品热久久66| 奇米精品一区二区三区四区| 亚洲黄色av片| 国产成人激情av| 波多野结衣影院| 国产日韩欧美激情| 无码人妻精品中文字幕| 亚洲综合无码一区二区| 日韩精品一区二区三| 欧美性高潮在线| 羞羞色院91蜜桃| 8v天堂国产在线一区二区| 精品人妻一区二区三区换脸明星 | 国产在线一在线二| 中文字幕亚洲综合久久筱田步美| 国产黄a三级三级三级av在线看| 欧美黑人视频一区| 成人美女大片| 91久久久久久久久久久久久| 98视频精品全部国产| 女同一区二区| 一区二区电影| 99热在线这里只有精品| 国产传媒一区| 色一情一乱一伦| 91久久精品一区二区三区| 国产一级片av| 欧美一区二区国产| 青青草免费在线视频| 色多多国产成人永久免费网站 | 男人添女荫道口图片| 天堂蜜桃91精品| 人妻精品久久久久中文字幕69| 91老司机福利 在线| 黄色录像二级片| 狠狠躁夜夜躁久久躁别揉| 国产精品久久综合青草亚洲AV| 精品国精品自拍自在线| av在线电影播放| 97免费在线视频| 91精品国产色综合久久不卡粉嫩| 国产中文一区二区| 亚洲第一偷拍| xxxx一级片| 91亚洲精品久久久蜜桃网站| 国产美女久久久久久| 日韩手机在线观看| 蜜桃视频在线观看一区| 亚洲色图欧美自拍| 久久久www成人免费毛片麻豆| 欧美一区二区三区爽爽爽| 91黄视频在线| 婷婷丁香花五月天| 欧美另类第一页| 久久精品黄色| 欧美日韩大片一区二区三区| 亚洲私拍自拍| 亚洲国产午夜精品| 国产欧美精品一区| 五月天婷婷综合网| 精品国产电影一区二区| 日本视频在线| 国产精品欧美日韩一区二区| 免费观看不卡av| 激情伊人五月天| 成人在线综合网站| 欧美另类视频在线观看| 欧美一区二区精品在线| 久草资源在线| 国产日韩精品在线观看| 欧美日韩国产一区二区三区不卡 | 一区二区三区精品视频在线观看| 17c国产在线| 中文字幕一区二区三区在线播放| 无码人妻一区二区三区线| 日韩风俗一区 二区| 91超碰免费在线| 国产精品一区二区免费| 激情久久一区| 四虎成人免费视频| 亚洲一区二区黄色| 懂色av蜜臀av粉嫩av分享吧| 欧美老肥婆性猛交视频| 精品视频在线观看免费观看| 精品一区二区成人免费视频| 久久99在线观看| 精品亚洲乱码一区二区| 91精品蜜臀在线一区尤物| 老司机午夜在线| 91在线看www| 午夜日韩在线| 欧产日产国产精品98| 天天av天天翘天天综合网色鬼国产 | 激情小说网站亚洲综合网| 在线成人h网| 亚洲精品乱码久久久久久不卡| 欧美日韩精品在线| 你懂的视频在线| 国产精品视频免费在线观看| 精品久久影院| www.com久久久| 亚洲黄色免费电影| 国模人体一区二区| 国产91ⅴ在线精品免费观看| 亚洲制服一区| 欧美成人乱码一二三四区免费| 成人免费在线播放视频| 亚洲精品一区二区三区新线路| 91黄色8090| 欧美丝袜激情| 性一交一黄一片| 激情成人在线视频| 97电影在线看视频| 亚洲最大av网| 亚洲尤物影院| www.4hu95.com四虎| 欧美一区国产二区| 国产高清自产拍av在线| 五月天国产一区| 国产高清久久久久| 波多野结衣视频在线观看| 久久综合国产精品台湾中文娱乐网| 99精品中文字幕在线不卡| 不卡影院一区二区| 亚洲男人天堂一区| 免费福利在线视频| 亚洲在线一区二区| 亚洲主播在线| www.av免费| 亚洲欧美另类在线观看| gogo大尺度成人免费视频| 怡红院av亚洲一区二区三区h| 国产精品久久久久久久久免费桃花| 亚洲av永久纯肉无码精品动漫| 日本一区二区三区四区视频| 91精品二区| 国产激情在线免费观看| 日韩午夜在线观看视频| 国产成人精品一区二三区在线观看 | 69久久夜色| 精品视频一区在线| 国产一区二区三区免费播放| 久久久久久91亚洲精品中文字幕| 久久久极品av| 超碰成人久久|