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

淺析Java JDBC調用Oracle存儲過程

開發 后端
本文將簡單介紹Java JDBC調用Oracle存儲過程,其中將說到三中不同調用存儲過程,希望本文能對大家有所幫助。

Java JDBC調用Oracle存儲過程一般有3種:

1.無返回值

2.有一個返回值

3.返回一個數據集,就是游標!

關鍵字:call 語法格式{call 存儲過程名(參數列表)}

廢話不說,見代碼!

Java JDBC調用Oracle存儲過程業務實例:

1.添加員工,如果指定部門不存在,則先添加部門信息,再添加員工(無返回值)

--創建存儲過程如下  

  1. CREATE OR REPLACE PROCEDURE sp_add_emp1(      
  2.     v_empno emp.empno%TYPE,      
  3.     v_ename emp.ename%TYPE,      
  4.     v_deptno dept.deptno%TYPE,      
  5.     v_dname dept.dname%TYPE      
  6. )AS     
  7.     num1 NUMBER;      
  8.     num2 NUMBER;      
  9. BEGIN     
  10.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;      
  11. IF(num1=0) THEN     
  12.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);      
  13. END IF;      
  14.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;      
  15. IF(num2=0)THEN     
  16.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);      
  17. ELSE     
  18.     raise_application_error(-202021,'員工id 重復?。。?);      
  19. END IF;      
  20.    commit;      
  21.      
  22. END;     
  23.  
  24. CREATE OR REPLACE PROCEDURE sp_add_emp1(  
  25.    v_empno emp.empno%TYPE,  
  26.    v_ename emp.ename%TYPE,  
  27.    v_deptno dept.deptno%TYPE,  
  28.    v_dname dept.dname%TYPE  
  29. )AS 
  30.    num1 NUMBER;  
  31.    num2 NUMBER;  
  32. BEGIN 
  33.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;  
  34. IF(num1=0) THEN 
  35.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);  
  36. END IF;  
  37.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;  
  38. IF(num2=0)THEN 
  39.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);  
  40. ELSE 
  41.    raise_application_error(-202021,'員工id 重復?。?!');  
  42. END IF;  
  43.    commit;  
  44.  
  45. END

Java中調用代碼1:

  1. Class.forName("oracle.jdbc.driver.OracleDriver");      
  2. conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");      
  3. conn.setAutoCommit(false);      
  4.      
  5. conn=DBConnection.getDBConnection().getConnection();      
  6. String spName="{call sp_add_emp1(?,?,?,?)}";      
  7. CallableStatement cstmt=conn.prepareCall(spName);      
  8. cstmt.setInt(1, 2);      
  9. cstmt.setString(2, "wwww");      
  10. cstmt.setInt(3, 1);      
  11. cstmt.setString(4, "qwqwq");      
  12. cstmt.executeUpdate();      
  13.      
  14. conn.close();     
  15.  
  16.   Class.forName("oracle.jdbc.driver.OracleDriver");  
  17.   conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");  
  18.   conn.setAutoCommit(false);  
  19.  
  20.   conn=DBConnection.getDBConnection().getConnection();  
  21.   String spName="{call sp_add_emp1(?,?,?,?)}";  
  22.   CallableStatement cstmt=conn.prepareCall(spName);  
  23.   cstmt.setInt(1, 2);  
  24.   cstmt.setString(2, "wwww");  
  25.   cstmt.setInt(3, 1);  
  26.   cstmt.setString(4, "qwqwq");  
  27.   cstmt.executeUpdate();  
  28.  
  29.   conn.close(); 

2.需求同上, 只是返回該部門的員工總數。(有一個返回值)

--創建存儲過程如下  

  1. CREATE OR REPLACE PROCEDURE sp_add_emp2(      
  2.     v_empno emp.empno%TYPE,      
  3.     v_ename emp.ename%TYPE,      
  4.     v_deptno dept.deptno%TYPE,      
  5.     v_dname dept.dname%TYPE,      
  6.      
  7.     num out number      
  8. )AS     
  9.     num1 NUMBER;      
  10.     num2 NUMBER;      
  11. BEGIN     
  12.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;      
  13. IF(num1=0) THEN     
  14.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);      
  15. END IF;      
  16.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;      
  17. IF(num2=0)THEN     
  18.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);      
  19. ELSE     
  20.     raise_application_error(-202021,'員工id 重復!?。?);      
  21. END IF;      
  22.      
  23.     num:=num1;      
  24.    commit;      
  25.      
  26. END;     
  27.  
  28. CREATE OR REPLACE PROCEDURE sp_add_emp2(  
  29.    v_empno emp.empno%TYPE,  
  30.    v_ename emp.ename%TYPE,  
  31.    v_deptno dept.deptno%TYPE,  
  32.    v_dname dept.dname%TYPE,  
  33.  
  34.    num out number  
  35. )AS 
  36.    num1 NUMBER;  
  37.    num2 NUMBER;  
  38. BEGIN 
  39.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;  
  40. IF(num1=0) THEN 
  41.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);  
  42. END IF;  
  43.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;  
  44. IF(num2=0)THEN 
  45.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);  
  46. ELSE 
  47.    raise_application_error(-202021,'員工id 重復?。。?);  
  48. END IF;  
  49.  
  50.    num:=num1;  
  51.    commit;  
  52.  
  53. END

Java中調用代碼2:

  1. Class.forName("oracle.jdbc.driver.OracleDriver");      
  2. conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");      
  3. conn.setAutoCommit(false);      
  4.      
  5. conn=DBConnection.getDBConnection().getConnection();      
  6.      
  7. String spName="{call sp_add_emp2(?,?,?,?,?)}";      
  8. CallableStatement cstmt=conn.prepareCall(spName);      
  9. cstmt.setInt(1,1111);      
  10. cstmt.setString(2, "qqqq");      
  11. cstmt.setInt(3, 50);      
  12. cstmt.setString(4, "pppp");      
  13. cstmt.registerOutParameter(5, java.sql.Types.INTEGER);      
  14. cstmt.executeUpdate();      
  15. int i = cstmt.getInt(5);      
  16. System.out.println(i);      
  17. cstmt.close();      
  18. conn.close();     
  19.  
  20.      Class.forName("oracle.jdbc.driver.OracleDriver");  
  21.      conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");  
  22.      conn.setAutoCommit(false);  
  23.  
  24.      conn=DBConnection.getDBConnection().getConnection();  
  25.  
  26.      String spName="{call sp_add_emp2(?,?,?,?,?)}";  
  27.      CallableStatement cstmt=conn.prepareCall(spName);  
  28.      cstmt.setInt(1,1111);  
  29.      cstmt.setString(2, "qqqq");  
  30.      cstmt.setInt(3, 50);  
  31.      cstmt.setString(4, "pppp");  
  32.      cstmt.registerOutParameter(5, java.sql.Types.INTEGER);  
  33.      cstmt.executeUpdate();  
  34.      int i = cstmt.getInt(5);  
  35.      System.out.println(i);  
  36.      cstmt.close();  
  37.      conn.close(); 

3.需求同上, 并返回該部門的員工信息(工號和姓名)。(返回一個游標)

--創建存儲過程如下

Sql代碼

--1.建包    

  1. CREATE OR REPLACE PACKAGE my_pak AS     
  2.    TYPE my_cus IS REF CURSOR   ;      
  3. END my_pak;     

--2.寫存儲返回過程    
   

  1. CREATE OR REPLACE PROCEDURE sp_add_emp3(      
  2.     v_empno emp.empno%TYPE,      
  3.     v_ename emp.ename%TYPE,      
  4.     v_deptno dept.deptno%TYPE,      
  5.     v_dname dept.dname%TYPE,      
  6.      
  7.     p_cus OUT my_pak.my_cus      
  8. )AS     
  9.     num1 NUMBER;      
  10.     num2 NUMBER;      
  11. BEGIN     
  12.      
  13. OPEN p_cus FOR select empno,ename into v_empno,v_ename  from emp where deptno =v_deptno      
  14.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;      
  15. IF(num1=0) THEN     
  16.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);      
  17. END IF;      
  18.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;      
  19. IF(num2=0)THEN     
  20.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);      
  21. ELSE     
  22.     raise_application_error(-202021,'員工id 重復!??!');      
  23. END IF;      
  24.    commit;      
  25.      
  26. END;    

 --1.建包

  1. CREATE OR REPLACE PACKAGE my_pak AS 
  2.  TYPE my_cus IS REF CURSOR  ;  
  3. END my_pak; 

 --2.寫存儲返回過程

  1. CREATE OR REPLACE PROCEDURE sp_add_emp3(  
  2.    v_empno emp.empno%TYPE,  
  3.    v_ename emp.ename%TYPE,  
  4.    v_deptno dept.deptno%TYPE,  
  5.    v_dname dept.dname%TYPE,  
  6.  
  7.    p_cus OUT my_pak.my_cus  
  8. )AS 
  9.    num1 NUMBER;  
  10.    num2 NUMBER;  
  11. BEGIN 
  12.  
  13. OPEN p_cus FOR select empno,ename into v_empno,v_ename  from emp where deptno =v_deptno   
  14.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;  
  15. IF(num1=0) THEN 
  16.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);  
  17. END IF;  
  18.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;  
  19. IF(num2=0)THEN 
  20.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);  
  21. ELSE 
  22.    raise_application_error(-202021,'員工id 重復!?。?);  
  23. END IF;  
  24.    commit;  
  25.  
  26. END

Java JDBC調用Oracle,Java中調用代碼3: 

  1. Class.forName("oracle.jdbc.driver.OracleDriver");      
  2. conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");      
  3. conn.setAutoCommit(false);      
  4.      
  5. conn=DBConnection.getDBConnection().getConnection();      
  6.      
  7. String spName="{call sp_add_emp2(?,?,?,?,?)}";      
  8. CallableStatement cstmt=conn.prepareCall(spName);      
  9. cstmt.setInt(1,1111);      
  10. cstmt.setString(2, "qqqq");      
  11. cstmt.setInt(3, 50);      
  12. cstmt.setString(4, "pppp");      
  13. cstmt.registerOutParameter(5, java.sql.Types.ORACLETYPE);      
  14. cstmt.executeUpdate();      
  15. int i = cstmt.getInt(5);      
  16. System.out.println(i);      
  17. cstmt.close();      
  18. conn.close();    

【編輯推薦】

  1. 在Weblogic中實現JDBC的功能
  2. 詳解JDBC與Hibernate區別
  3. JDBC連接MySQL數據庫關鍵四步
  4. 五步精通SQL Server 2000 JDBC驅動安裝與測試
  5. 詳解JDBC驅動的四種類型
  6. JDBC存儲過程在Oracle中的獲取結果集
責任編輯:彭凡 來源: 百度空間
相關推薦

2009-07-08 17:17:16

JDBC調用存儲過程

2009-06-22 11:04:00

Jdbc存儲過程

2011-08-25 09:31:43

JDBC調用Oracl

2010-10-29 16:12:51

Oracle存儲過程

2010-04-16 11:03:02

Oracle存儲過程

2009-07-21 13:50:00

iBATIS.NET調

2009-07-08 17:42:33

JDBC存儲過程

2010-04-16 16:12:51

jdbc分頁

2009-07-17 13:54:51

JDBC存儲過程

2011-08-25 11:36:50

PreparedStaJDBC存儲過程調用

2011-08-12 11:22:53

Oracle存儲過程Java

2010-04-16 11:11:46

Oracle存儲過程

2017-09-04 11:48:56

MybatisOracle存儲過程

2010-10-26 14:40:31

oracle存儲過程

2009-06-19 16:22:55

Java存儲過程

2011-08-23 13:14:05

JDBC帶輸出參數的存儲過程

2010-03-30 13:30:49

Oracle存儲

2010-04-12 10:16:55

Oracle存儲過程

2010-04-30 08:47:22

Oracle分頁存儲

2010-04-16 11:22:08

Oracle存儲過程
點贊
收藏

51CTO技術棧公眾號

欧美日韩在线一| 高清国语自产拍免费一区二区三区| 波多野结衣片子| 欧美一级在线| 午夜欧美一区二区三区在线播放| 麻豆成人小视频| 国产又粗又猛又色又| 99精品久久久| 久久躁日日躁aaaaxxxx| 给我免费观看片在线电影的| 欧美aaa级| 午夜久久久影院| 亚洲国产精品一区在线观看不卡| 亚洲国产日韩在线观看| 日本伊人午夜精品| 久久久欧美精品| 天堂网中文在线观看| 欧美日韩麻豆| 日韩一二三区不卡| 九色91popny| 蜜桃av.网站在线观看| 日韩一区欧美一区| 日韩电影天堂视频一区二区| 亚洲男女视频在线观看| 精品一区二区三区影院在线午夜| 性色av一区二区三区免费| 国产一区第一页| 竹菊久久久久久久| 亚洲级视频在线观看免费1级| 日本不卡一区二区在线观看| 小黄鸭精品aⅴ导航网站入口| 一区二区三区视频在线看| 亚洲综合欧美日韩| 久久伊伊香蕉| 99精品国产热久久91蜜凸| 亚洲已满18点击进入在线看片| 狠狠人妻久久久久久| 伊人狠狠色j香婷婷综合| 久久久999成人| 亚洲av毛片基地| 啪啪亚洲精品| 亚洲欧美色婷婷| 加勒比精品视频| 精品国产乱子伦一区二区| 欧美成人乱码一区二区三区| 亚洲自拍第三页| 91国产一区| 欧美欧美欧美欧美| 手机视频在线观看| 欧美高清xxx| 欧美日韩精品一区二区在线播放| 538在线视频观看| 亚洲播播91| 色婷婷av一区二区三区之一色屋| 1024精品视频| 成人av三级| 色一情一伦一子一伦一区| 成人中文字幕在线播放| 中文字幕在线看片| 色综合久久中文字幕综合网| 国产精品va无码一区二区| 精品人人视频| 色综合久久天天| 另类小说第一页| 亚洲色图综合| 日韩免费一区二区| 中文字幕无码人妻少妇免费| 日韩系列在线| 亚洲人成欧美中文字幕| 欧美三级视频网站| 国产大片一区| 欧美精品制服第一页| 精品在线视频观看| 国产一区二区三区的电影 | 韩国三级中文字幕hd久久精品| 成人黄色免费网站在线观看| www.色呦呦| 91在线小视频| 亚洲欧美电影在线观看| 粗大黑人巨茎大战欧美成人| 亚洲一区二区成人在线观看| 黄色片视频在线免费观看| 国产精品天堂蜜av在线播放 | 91国内在线播放| 日韩视频一区二区三区四区| 日韩av一区在线观看| 精品成人av一区二区三区| 97视频热人人精品免费| 久久久久久久久久婷婷| 无码人妻久久一区二区三区不卡| 老司机精品视频导航| 98国产高清一区| 欧美偷拍视频| 亚洲男人的天堂在线观看| 欧美日韩不卡在线视频| 亚洲最大网站| 欧美一区二区黄色| 成都免费高清电影| 欧美成人tv| 日韩免费av一区二区| 国产精品久久久久久久免费看| 成人av资源在线| 亚洲午夜精品一区二区| аⅴ资源天堂资源库在线| 欧美裸体bbwbbwbbw| 国产性生活毛片| 婷婷综合在线| 日韩免费av片在线观看| 丁香花免费高清完整在线播放| 国产女人18毛片水真多成人如厕| 国产日韩欧美大片| 欧美精品总汇| 日韩av网址在线观看| 成年人午夜剧场| 老司机精品久久| 国产伦精品一区二区三区视频免费| 国产女人在线视频| 欧美日韩亚洲高清| 污网站免费观看| 久久久久久久久99精品大| 日本精品视频网站| 人妻中文字幕一区| 亚洲在线视频免费观看| 天堂av在线8| 欧美一区二区三| 热re91久久精品国99热蜜臀| 成人久久久精品国产乱码一区二区| 中文字幕在线一区| 国产三级日本三级在线播放| 清纯唯美亚洲经典中文字幕| 欧美激情一区二区三区久久久| 91在线你懂的| 欧美国产欧美亚州国产日韩mv天天看完整| 免费看日本毛片| 1204国产成人精品视频| 久久亚洲精品成人| 911美女片黄在线观看游戏| 国产欧美日韩三级| 日韩视频在线免费看| 五月天亚洲色图| 91成人福利在线| 天堂v在线观看| 亚洲图片一区二区| 亚洲国产精品狼友在线观看| 欧美精品一卡| 国产九色91| 国产欧洲在线| 亚洲国产欧美一区二区三区久久| 国产午夜精品一区二区理论影院| 国产精品18久久久久久久久 | 91精品国产综合久久久久久 | 一区二区免费不卡在线| 96pao国产成视频永久免费| 免费a级毛片在线播放| 欧美精品在线观看播放| 欧美h片在线观看| 韩国av一区二区三区在线观看| 日本福利视频导航| 精品中文在线| 国内精品久久久久久影视8| 日本人妻熟妇久久久久久| 亚州成人在线电影| 成人精品在线观看视频| 日韩精彩视频在线观看| 亚洲欧美国产不卡| 麻豆一二三区精品蜜桃| 久久久最新网址| 日韩三级电影网| 欧美吞精做爰啪啪高潮| 波多野结衣在线网址| 国产精品18久久久| 日韩小视频在线播放| 欧美猛男男男激情videos| 国产精品热视频| 18网站在线观看| 亚洲精品国精品久久99热| 亚洲欧美另类在线视频| 国产精品免费观看视频| 成人在线短视频| 国产日韩欧美一区| 亚洲精品一卡二卡三卡四卡| 国产乱码精品一区二区三区亚洲人| 欧美日韩999| 蜜桃成人在线视频| 欧美人与禽zozo性伦| 日本在线视频免费观看| 国产日产欧美一区二区三区 | 97久久精品人人做人人爽| 日本在线视频www| 国产高清欧美| 久久一区二区三区av| 久久精品97| 91国产美女在线观看| 日韩精品黄色| 亚洲国产私拍精品国模在线观看| 在线免费看91| 午夜精品一区二区三区电影天堂| 国产精品成人无码免费| 粉嫩嫩av羞羞动漫久久久| 成人免费毛片播放| 好看不卡的中文字幕| 日韩欧美手机在线| 国产极品模特精品一二| 国产精品色视频| 国产高清视频色在线www| 日韩一区二区在线视频| 偷拍自拍在线| 日韩精品自拍偷拍| 一区二区三区免费在线| 在线免费视频一区二区| 国产午夜福利片| 综合网在线视频| 免费网站在线高清观看| 成人黄色网址在线观看| 一区二区久久精品| 日韩高清电影一区| 男人日女人下面视频| 欧美 亚欧 日韩视频在线| 日韩欧美在线电影| 亚洲丝袜啪啪| 国内一区二区在线视频观看| 国产亚洲精aa在线看| 国产精品激情自拍| 欧美1级2级| 91精品国产91久久久久久吃药| caoporn免费在线| 色午夜这里只有精品| 污污的视频网站在线观看| 日韩欧美精品在线视频| 国产婷婷在线视频| 欧美剧情片在线观看| 日本妇乱大交xxxxx| 一本色道久久综合狠狠躁的推荐 | 日韩和的一区二区| 人妻熟女一二三区夜夜爱| 影音先锋中文字幕一区| 日本熟妇人妻xxxx| 好看的av在线不卡观看| 99热久久这里只有精品| 影音先锋在线一区| 丁香六月激情婷婷| 99视频一区| www黄色av| 日韩精品一级二级| 99色精品视频| 日本欧美韩国一区三区| 亚洲综合在线网站| 奇米色777欧美一区二区| 亚洲性生活网站| 久久er精品视频| 亚洲色图欧美自拍| 国产成人精品三级麻豆| 免费不卡的av| 91亚洲精品一区二区乱码| 日韩精品卡通动漫网站| 国产三区在线成人av| 欧美乱大交做爰xxxⅹ小说| 亚洲色图视频网站| 九九视频免费在线观看| 调教+趴+乳夹+国产+精品| 天天插天天操天天干| 色婷婷国产精品综合在线观看| 99超碰在线观看| 极品一区美女高清| 欧美日本中文字幕| √8天堂资源地址中文在线| 91国产美女视频| 无人区在线高清完整免费版 一区二| 国产成人精品av| 久久精品国产福利| 99se婷婷在线视频观看| 久久99精品国产自在现线| 欧美高清性xxxxhd| 色偷偷综合网| 2022中文字幕| 欧美一级一区| 天天操狠狠操夜夜操| 成人网页在线观看| 受虐m奴xxx在线观看| 亚洲色图欧洲色图婷婷| 日韩精品一区二区av| 欧美中文字幕亚洲一区二区va在线| 中文字幕+乱码+中文字幕明步| 日韩欧美一区二区久久婷婷| 天堂v视频永久在线播放 | 香蕉视频在线看| 欧美猛交免费看| 欧美黑人粗大| 亚洲专区在线视频| 亚洲成a人片77777在线播放 | 亚洲国产午夜| 狠狠躁狠狠躁视频专区| 波多野结衣在线一区| 国产精品久久久久久成人| 亚洲一本大道在线| 一卡二卡三卡在线观看| 亚洲福利视频久久| 久久精品视频免费看| 热久久99这里有精品| 年轻的保姆91精品| 日韩免费av一区二区三区| 欧美视频福利| 99热一区二区| 久久只精品国产| 久久9999久久免费精品国产| 欧美日韩亚洲综合在线| 香蕉久久一区二区三区| 久久久极品av| h1515四虎成人| 久久久久se| 红桃视频国产一区| 亚洲va在线va天堂va偷拍| 2020国产精品| 久久久久久久99| 91精品国产色综合久久ai换脸 | 蜜臀av免费在线观看| 日韩中文字幕免费视频| 韩国成人漫画| 精品在线不卡| 亚洲成人在线| 国产精品嫩草69影院| 日韩毛片在线免费观看| 五月天中文字幕| 亚洲欧美激情四射在线日| 九色91在线| 97久久夜色精品国产九色 | 一本到在线视频| 亚洲图片在线综合| 欧美gv在线观看| 国产精品一区二区不卡视频| 欧美日韩三区| 欧美人与性动交α欧美精品| 中文字幕一区日韩精品欧美| 国产成人精品一区二区色戒| 亚洲日本欧美日韩高观看| 极品美鲍一区| 免费试看一区| 久久国产欧美| av男人的天堂av| 欧美色播在线播放| 头脑特工队2在线播放| 91精品国产一区| 亚洲小说图片视频| 日韩视频第二页| 国产调教视频一区| 中国精品一区二区| 中文字幕亚洲自拍| 久久精品资源| 日本精品免费视频| 国产精品一卡二卡在线观看| 青青草精品在线视频| 精品日韩一区二区三区免费视频| 青草在线视频| 精品国产免费久久久久久尖叫 | 色无极亚洲影院| 潘金莲激情呻吟欲求不满视频| 国产精品成人在线观看| 国产精品爽爽久久| 欧美激情视频在线观看| 大伊香蕉精品在线品播放| 欧美 丝袜 自拍 制服 另类| 久久影视一区二区| 一区二区三区麻豆| 久久激情视频久久| 999久久久精品一区二区| 久久99中文字幕| 久久九九久久九九| 亚洲天堂avav| 久久久久久av| 国产在线观看91一区二区三区 | 国产精品日韩精品在线播放| 菠萝蜜视频在线观看入口| 成人av电影免费观看| 国产91国语对白在线| 久久国产一区二区三区| jizz性欧美2| 亚洲免费av一区二区三区| 亚洲视频免费在线观看| 少妇喷水在线观看| 国产精品精品视频一区二区三区| 五月天久久久| 亚洲第一黄色网址| 欧美日韩一区二区三区四区| 神马午夜伦理不卡| 欧美黑人3p| 国产成人在线电影| caoporn国产| 免费97视频在线精品国自产拍| 日韩三区视频| 人妻少妇偷人精品久久久任期| 欧美日韩精品二区| 国产最新在线| 精品无码久久久久久久动漫| 美女国产一区二区| 日韩三级视频在线| 久久视频精品在线| 精品成av人一区二区三区| 久久久男人的天堂| 欧美色图在线观看| 免费h在线看|