欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

JDBC數(shù)據(jù)庫的使用操作總結_MySQL教程

編輯Tag賺U幣

推薦:MySQL筆記之數(shù)據(jù)類型詳解
本篇文章對mysql數(shù)據(jù)類型進行了詳細的介紹,需要的朋友參考下

JDBC是一組能夠執(zhí)行SQL語句的API

由于傳統(tǒng)的數(shù)據(jù)庫操作方式需要程序員掌握各個不同的數(shù)據(jù)庫的API,極其不便

因此java定義了JDBC這一標準的接口和類,為程序員操作數(shù)據(jù)庫提供了統(tǒng)一的方式

JDBC的操作方式比較單一,由五個流程組成:

1.通過數(shù)據(jù)庫廠商提供的JDBC類庫向DriverManager注冊數(shù)據(jù)庫驅動

2.使用DriverManager提供的getConnection()方法連接到數(shù)據(jù)庫

3.通過數(shù)據(jù)庫的連接對象的createStatement方法建立SQL語句對象

4.執(zhí)行SQL語句,并將結果集合返回到ResultSet中

5.使用while循環(huán)讀取結果

6.關閉數(shù)據(jù)庫資源

下面來看看具體操作Mysql數(shù)據(jù)庫的方法


準備工作

首先我們需要建立一個數(shù)據(jù)庫和一張簡單的表

復制代碼 代碼如下:m.ghpqjb.com

mysql> create database person;
Query OK, 1 row affected (0.00 sec)

 

mysql> use person;
Database changed
mysql> create table student(
-> id int,
-> name varchar(20),
-> birth year
-> ) default charset=utf8;
Query OK, 0 rows affected (0.10 sec)


然后往里面插入幾條數(shù)據(jù)
復制代碼 代碼如下:m.ghpqjb.com

mysql> insert into student values
-> (1,'張三',1990),
-> (2,'李四',1991),
-> (3,'王五',1992);
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0

這樣一張簡單的表就建好了
復制代碼 代碼如下:m.ghpqjb.com

mysql> select * from student;
+------+--------+-------+
| id | name | birth |
+------+--------+-------+
| 1 | 張三 | 1990 |
| 2 | 李四 | 1991 |
| 3 | 王五 | 1992 |
+------+--------+-------+
rows in set (0.00 sec)

接下來,去mysql官網(wǎng)下載數(shù)據(jù)庫連接器這個包

 

其中這個包里面含有一份文檔,里面列舉了基本的使用方法,可以參考

我們的操作也是按照這份文檔中的內容進行,然后最主要的地方就是導入這個jar包

為了操作方便,這里使用eclipse來導入

右鍵項目-->構件路徑-->添加外部歸檔,添加好了之后如下所示

現(xiàn)在我們正式開始使用java來操作mysql數(shù)據(jù)庫

JDBC操作實例1:最簡單的查詢操作

復制代碼 代碼如下:m.ghpqjb.com

import java.sql.*;

 

public class Demo {
//為了代碼緊湊性,暫時拋出所有異常
public static void main(String[] args) throws Exception {
//注冊數(shù)據(jù)庫驅動
Class.forName("com.mysql.jdbc.Driver");
//建立數(shù)據(jù)庫連接
//參數(shù)一:jdbc:mysql//地址:端口/數(shù)據(jù)庫,參數(shù)二:用戶名,參數(shù)三:密碼
Connection conn = DriverManager.getConnection
("jdbc:mysql://localhost:3306/person","root","admin");
//創(chuàng)建SQL語句
Statement st = conn.createStatement();
//執(zhí)行語句,返回結果
ResultSet rt = st.executeQuery("show tables");
//循環(huán)取出結果
while(rt.next()) {
//獲取字段
System.out.println(rt.getString("Tables_in_person"));
}
//關閉資源,最先打開的最后關
rt.close();
st.close();
conn.close();
}
}


運行結果:student

 

如此便可執(zhí)行show tables語句查詢出當前數(shù)據(jù)庫含有多少張表

其中rt.getString()方法是獲取字段,這點需要注意

關閉資源的方式也與以往相反

不過,上面的操作方式靈活性不大,并且不嚴謹


實例2:優(yōu)化的查詢操作

復制代碼 代碼如下:m.ghpqjb.com

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

 

public class Demo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/person";
String user = "root";
String pwd = "admin";
String sql = "select * from student";

Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pwd);
st = conn.createStatement();
//執(zhí)行查詢語句,另外也可以用execute(),代表執(zhí)行任何SQL語句
rs = st.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getObject(1) + " " +
rs.getObject(2) + " " + rs.getInt("birth"));
}
//分別捕獲異常
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
//判斷資源是否存在
if(rs != null) {
rs.close();
//顯示的設置為空,提示gc回收
rs = null;
}
if(st != null) {
st.close();
st = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}


運行結果:

 

這里把異常給分別捕獲了,并且相關的字符串全部用變量定義

需要注意下循環(huán)取出數(shù)據(jù)里面的getInt()方法,此處必須知道類型和字段才能取出

如果不知道可以使用getObject(1)取出第一列,getObject(2)取出第二列,以此類推

實例3:自定義變量插入到數(shù)據(jù)庫

復制代碼 代碼如下:m.ghpqjb.com

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

 

public class Demo {
public static void main(String[] args) {
//參數(shù)檢查
if (args.length != 3) {
System.out.println("參數(shù)形式不對");
System.exit(0);
}
String id = args[0];
String name = args[1];
String birth = args[2];
String sql = "insert into student values(" + id + ",'" + name +
"'," + "'" + birth + "')";
System.out.println(sql);

String url = "jdbc:mysql://localhost:3306/person";
String user = "root";
String pwd = "admin";

Connection conn = null;
Statement st = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pwd);
st = conn.createStatement();
//注意,此處是excuteUpdate()方法執(zhí)行
st.executeUpdate(sql);
//分別捕獲異常
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(st != null) {
st.close();
st = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}


運行結果:

 

這里運行需要設置自變量,窗口中右鍵-->運行方式-->運行配置

然后在自變量里面寫4 susan 1993,我沒有寫中文,因為產(chǎn)生亂碼,目前還不清楚原因

需要注意的是,執(zhí)行插入的SQL語句比較難寫,最好是打印出SQL語句用以檢查

實例4:PreparedStatement應用

從上面的Demo可以看到,插入數(shù)據(jù)的時候,SQL操作相當不便

這里可以使用PreparedStatement對象來簡化SQL語句的建立

復制代碼 代碼如下:m.ghpqjb.com

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

 

public class Demo {

public static void main(String[] args) {
if (args.length != 3) {
System.out.println("參數(shù)形式不對");
System.exit(0);
}
String id = args[0];
String name = args[1];
String birth = args[2];

String url = "jdbc:mysql://localhost:3306/person";
String user = "root";
String pwd = "admin";

Connection conn = null;
//聲明PreparedStatement對象的引用
PreparedStatement pst = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pwd);
//使用?代替變量
pst = conn.prepareStatement("insert into student values (?,?,?)");
//給指定參數(shù)的位置設定變量
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, birth);
pst.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(pst != null) {
pst.close();
pst = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}


運行結果:

 

實例5:Batch批處理

復制代碼 代碼如下:m.ghpqjb.com

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

 

public class Demo {

public static void main(String[] args) {

String url = "jdbc:mysql://localhost:3306/person";
String user = "root";
String pwd = "admin";

Connection conn = null;
Statement st = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pwd);
st = conn.createStatement();
//添加批處理
st.addBatch("insert into student values(6,'Jerry','1995')");
st.addBatch("insert into student values(7,'Greg','1996')");
st.addBatch("insert into student values(8,'Ryan','1997')");
//執(zhí)行批處理
st.executeBatch();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(st != null) {
st.close();
st = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}


運行結果:

 

批處理比較簡單,只需先建立Statement對象,然后逐個添加批處理即可

最后使用executeBatch()方法執(zhí)行批處理

此外,PreparedStatement對象也可以使用批處理

復制代碼 代碼如下:m.ghpqjb.com

PreparedStatement ps = conn.prepareStatement("insert into student values(?,?,?)");
ps.setInt(1,8);
ps.setString(2,"GG");
ps.setString(3,"1996");
ps.addBatch();
ps.executeBatch();

實例6:Transaction事務處理

 

事務處理是要求sql以單元的形式更新數(shù)據(jù)庫,要求其確保一致性

如銀行的轉賬業(yè)務,一方轉出后,另一方則增加

如果出現(xiàn)異常,那么所有的操作則會回滾

復制代碼 代碼如下:m.ghpqjb.com

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

 

public class Demo {

public static void main(String[] args) {

String url = "jdbc:mysql://localhost:3306/person";
String user = "root";
String pwd = "admin";

Connection conn = null;
Statement st = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pwd);
//取消自動提交
conn.setAutoCommit(false);
st = conn.createStatement();
st.addBatch("insert into student values(6,'Jerry','1995')");
st.addBatch("insert into student values(7,'Greg','1996')");
st.addBatch("insert into student values(8,'Ryan','1997')");
st.executeBatch();
//提交后設置自動提交
conn.commit();
conn.setAutoCommit(true);
} catch (ClassNotFoundException e) {
e.printStackTrace();

} catch (SQLException e) {
e.printStackTrace();

if(conn != null) {
try {
//出現(xiàn)異常則回滾操作,然后設置自動提交
conn.rollback();
conn.setAutoCommit(true);
} catch (SQLException e1) {
e1.printStackTrace();
}
}
} finally {
try {
if(st != null) {
st.close();
st = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}


運行結果:

 

分享:MySQL 主主同步配置步驟
創(chuàng)建同步用戶、修改 /etc/my.cnf 配置文件,為其添加以下內容、分別重啟服務器ODD EVEN 上的mysql服務

來源:模板無憂//所屬分類:MySQL教程/更新時間:2013-05-04
相關MySQL教程
久久国产精品免费看| 久久久久久com| 5566av亚洲| 中文字幕一二三| 日本免费一区视频| 天堂成人免费av电影一区| 亚洲永久精品国产| 97婷婷大伊香蕉精品视频| 欧美 国产 日本| 亚洲欧美日韩一区二区三区四区| 99tv成人| 婷婷久久综合九色综合绿巨人 | 一本一道久久久a久久久精品91| 五月婷婷六月香| 日韩视频在线直播| jvid福利写真一区二区三区| 亚洲美女www午夜| 亚洲资源在线网| 国产无套内射又大又猛又粗又爽| 欧美日韩导航| 中文字幕亚洲在| 91国内免费在线视频| 在线观看av网页| 污视频在线免费| 精品一二三四区| 日韩欧美成人一区| 欧美精品欧美精品| 久久久久99精品成人片试看| 免费电影一区二区三区| 久久亚洲捆绑美女| 欧美激情网站在线观看| 国产又黄又猛又粗又爽的视频| 亚洲男女视频在线观看| 麻豆精品视频在线观看免费| 亚洲国产精品va在线看黑人动漫 | 一区二区伦理片| 91麻豆精品激情在线观看最新| 久久综合久久99| 欧美激情2020午夜免费观看| 色综合色综合色综合色综合| 亚洲欧洲自拍| 国产一区999| 国产一区二区久久精品| 男女猛烈激情xx00免费视频| 国产裸体无遮挡| 秋霞午夜av一区二区三区| 日韩精品视频在线观看网址| 青青草视频在线视频| 91精品视频免费在线观看| 日韩在线播放一区二区| 精品无人国产偷自产在线| 成人精品视频在线播放| 亚洲AV无码精品国产| 韩国一区二区三区| www.久久久久久.com| 无限资源日本好片| 亚洲成人一区在线观看| 久久亚洲影视婷婷| 热久久这里只有精品| 国产又粗又猛又色| 给我免费播放日韩视频| 亚洲精品国久久99热| 成人国产精品久久久久久亚洲| yy1111111| 亚洲黄色录像| 日韩欧美在线免费观看| 久久精品第九区免费观看 | 欧美高清在线观看| 亚洲丝袜在线观看| 青草综合视频| 国产欧美精品区一区二区三区| 欧美在线视频在线播放完整版免费观看 | 精品久久久久成人码免费动漫| 激情六月婷婷久久| 在线视频日本亚洲性| 亚洲国产精品毛片av不卡在线| 美脚恋feet久草欧美| 久久综合九色综合欧美98| 欧美怡春院一区二区三区| 懂色av粉嫩av蜜乳av| 香蕉人人精品| 91黄色免费版| 亚洲a∨一区二区三区| 91精品国产乱码久久久久| 国产精品中文字幕欧美| 久久国产精品久久精品| 制服丝袜在线第一页| 日韩精品导航| 欧美视频中文字幕| 亚洲一二三区在线| 精品人妻一区二区三区浪潮在线 | 日韩av系列| 日本高清不卡aⅴ免费网站| 亚洲精品中文字幕乱码三区不卡| 国产乱码精品一区二区| www.视频一区| 国产精品久久久久久五月尺| 美国美女黄色片| 欧美另类女人| 亚洲日本中文字幕| www.污网站| 欧美绝顶高潮抽搐喷水合集| 欧美三级视频在线| 欧美日韩dvd| 成人影院av| 亚洲精选视频免费看| 5566中文字幕一区二区| 少妇太紧太爽又黄又硬又爽| 韩国视频一区二区| 77777亚洲午夜久久多人| 精品人体无码一区二区三区| 在线电影一区| 日韩中文字幕免费看| 免费欧美一级片| 久久久免费毛片| 欧美日韩大陆在线| 青青草综合在线| 色综合天天色| 无吗不卡中文字幕| 中文字幕超清在线免费观看| 日韩免费va| 亚洲国产aⅴ成人精品无吗| 欧美亚洲免费在线| 不卡的日韩av| 国产精品毛片无遮挡高清| 国产自产在线视频一区| 亚洲天堂手机在线| 国产亚洲综合性久久久影院| 91gao视频| 中文字幕激情视频| 久久欧美一区二区| 国产精品theporn88| 一区二区美女视频| 国产午夜精品久久| 精品国产一区二区三| 亚洲视频在线观看免费视频| www.亚洲国产| 亚洲综合在线小说| 精品国产乱子伦| 久久综合狠狠综合| 国产一区二区三区av在线| 99久久久国产精品无码网爆| 国产精品视频看| 另类视频在线观看+1080p| 亚洲伦理在线观看| 亚洲综合色视频| 自拍亚洲欧美老师丝袜| 亚洲成人激情社区| 午夜不卡av在线| 高清无码视频直接看| 99re8精品视频在线观看| 欧美在线色视频| 日本999视频| 欧美日韩破处| 亚洲国产小视频在线观看| 中文字幕一区二区三区人妻在线视频 | 欧美日韩免费观看视频| 欧美视频中文在线看| 伊人成色综合网| 在线一级成人| 亚洲欧美国产精品久久久久久久| 欧美做受喷浆在线观看| 久久精品主播| 日产日韩在线亚洲欧美| 无码人妻av一区二区三区波多野| 久久亚洲一区二区三区四区| 日本一区二区三区免费观看| 免费观看成人性生生活片 | 爆乳熟妇一区二区三区霸乳| 狠狠做六月爱婷婷综合aⅴ| 亚洲人成自拍网站| 性猛交娇小69hd| 蜜芽一区二区三区| 91欧美激情另类亚洲| 丁香社区五月天| 国产精品三级av| 伊人狠狠色丁香综合尤物| 91精品国产一区二区在线观看| 制服丝袜成人动漫| 第一页在线视频| 久久激情久久| 国产精品中文字幕久久久| 亚洲怡红院av| 一区二区三区小说| 国产老熟妇精品观看| 国产一区二区三区电影在线观看| 中文字幕欧美视频在线| 久久国产精品国语对白| 成人av在线资源网| 日韩电影在线播放| 麻豆精品久久| 精品呦交小u女在线| 超碰人人人人人人人| 国产一区二区伦理片| 亚洲综合最新在线| 色窝窝无码一区二区三区| 色8久久人人97超碰香蕉987| 极品粉嫩美女露脸啪啪| 激情久久一区| 国产精品久久久久久久久久东京 | 激情五月播播久久久精品| 99久久国产免费免费| 国产超碰精品| 日韩美一区二区三区| aa片在线观看视频在线播放| 九九九久久久精品| 久久精品国产美女| 精品一区二区三区亚洲| 国产视频精品久久久| 国产免费久久久久| 久久综合视频网| 黄色网络在线观看| 亚洲免费福利一区| 不用播放器成人网| 啦啦啦免费高清视频在线观看| 亚洲欧美一区二区在线观看| 青青视频在线播放| 欧美日韩亚洲一区| 国产精品久久久久av免费| 欧美 日韩 人妻 高清 中文| 欧美日韩亚洲综合| 国产精品三级在线观看无码| 国产精品一区二区久久精品爱涩| 日本不卡二区| 精品三级av在线导航| 久久天天躁日日躁| 中文字幕乱码视频| 高跟丝袜一区二区三区| 国产精品成人免费一区久久羞羞| 久久电影一区| 黄色国产精品一区二区三区| 亚洲国产欧美在线观看| 久久精品国产亚洲精品2020| 欧美三级韩国三级日本三斤在线观看| 亚洲黄色小视频| 日韩av片专区| 国产精品日韩欧美一区| 超碰97人人人人人蜜桃| 高清一区二区三区av| 色av吧综合网| 中文字幕第三页| 欧美日韩中文国产| 久久久久久久久免费看无码| 大白屁股一区二区视频| 在线观看18视频网站| 99九九热只有国产精品| 国产精品视频白浆免费视频| 91精品美女| 一色桃子一区二区| 青娱乐在线免费视频| 91国内精品野花午夜精品| 中日韩精品一区二区三区| 99久久精品国产网站| av网站手机在线观看| 亚洲国产一区二区三区a毛片| 99在线视频首页| 日韩成人视屏| 欧美大片在线看免费观看| a天堂在线观看视频| 欧美一级日韩免费不卡| 亚洲最大的黄色网址| 中文在线一区二区| 国产又大又硬又粗| 日韩中文字幕91| 亚洲高清精品中出| 五月天久久网站| 2014亚洲精品| 欧美aaaaaaaa牛牛影院| 欧美在线国产精品| 桃花岛成人影院| 中文字幕日韩av综合精品| 国产九色91回来了| 欧美日韩一区二区三区免费看| 阿v天堂2014| 亚洲欧洲精品一区二区三区| 亚洲无在线观看| 粉嫩av一区二区三区粉嫩 | 蜜桃久久精品一区二区| 中文字幕一区二区三区乱码| 中文字幕一区二区三区在线视频| 99视频在线播放| 久久91精品| 国产在线精品播放| 成人亚洲精品| 97不卡在线视频| 成人在线免费电影网站| 美女av一区二区| 懂色av成人一区二区三区| 亚洲黄页视频免费观看| 日本丰满少妇做爰爽爽| 9191久久久久久久久久久| 久久精品国产亚洲av麻豆色欲| 欧美性色xo影院| 情侣偷拍对白清晰饥渴难耐| 亚洲一区二区三区四区在线观看| 老熟女高潮一区二区三区| 久久这里只精品最新地址| 可以免费在线看黄的网站| 国产精品77777| 欧美二区在线视频| 精品在线你懂的| 成年人午夜免费视频| 蜜臀av在线播放一区二区三区| 成年在线观看视频| 老司机亚洲精品| 激情六月天婷婷| 亚洲视频免费| 免费在线国产精品| 欧美成人69av| 欧美精品久久| 在线看片成人| 亚洲毛片aa| 香蕉久久夜色精品| 免费观看亚洲视频| 免费国产亚洲视频| 黄色一级在线视频| 国产综合久久久久久鬼色| 欧美 国产 日本| 国产成人精品午夜视频免费| 欧美日韩激情视频在线观看| 国产精品自拍毛片| 天天干天天玩天天操| 久久综合网色—综合色88| 亚洲国产精品狼友在线观看| 国产精品久久久爽爽爽麻豆色哟哟| www男人天堂| 亚洲精品你懂的| 久久久无码人妻精品一区| 亚洲国产色一区| 国产视频123区| 在线亚洲免费视频| 久久久久久久久久免费视频| 在线电影国产精品| 中文字字幕在线中文乱码| 亚洲国产欧美一区二区丝袜黑人 | 久久天天做天天爱综合色| 亚洲美女高潮久久久| 亚洲免费资源在线播放| 任我爽在线视频| 欧美日韩三级视频| 综合网在线观看| 亚洲欧美国内爽妇网| 日韩在线视频免费| 欧美激情女人20p| 日韩欧美高清一区二区三区| 91久久久久久久一区二区 | 北条麻妃高清一区| 亚洲精品a级片| 一区不卡字幕| 另类的小说在线视频另类成人小视频在线 | 久久久久久久久福利| 91福利国产成人精品照片| 黄色av一级片| 精品剧情在线观看| 乱精品一区字幕二区| 久久久综合av| 欧美大片网址| 国产精品美女黄网| 好看的av在线不卡观看| 无码日本精品xxxxxxxxx| 国产成人亚洲精品青草天美| 三级黄色片播放| 亚洲天堂2016| 五月天丁香激情| 精品99久久久久久| 污污的视频网站在线观看| 欧美在线视频一二三| 国语产色综合| 亚洲激情啪啪| 国产精品资源站在线| 少妇精品无码一区二区| 伊人色综合久久天天人手人婷| 欧美日韩午夜视频| 欧美精品一级二级三级| 国产99久一区二区三区a片| 欧美精品久久久久久久| 欧美成人一区在线观看| 欧美日韩综合久久| 精品一区二区在线播放| 深夜视频在线观看| 亚洲国产成人精品视频| 欧美啪啪小视频| 少妇高潮久久77777| 亚洲一区导航| 成人欧美一区二区三区在线观看 | 日本午夜精品一区二区三区电影| 久久综合久久色| 亚洲视频狠狠干| 亚洲日本韩国在线| 亚洲国产毛片完整版| 福利一区在线| 国产精品午夜av在线| 日本不卡视频在线| 精品国产午夜福利在线观看| 欧美日韩国产激情| 18国产免费视频| 久久男人资源视频| 久久一区91| 免费国产成人看片在线| 久久中文娱乐网|