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

色婷婷综合成人av| 无吗不卡中文字幕| 日韩午夜av一区| 日韩欧美久久久| 日本午夜一区二区三区| 一级特黄aa大片| 黄色工厂这里只有精品| 日韩精品高清在线| 午夜精品中文字幕| a天堂中文在线官网在线| 国产精品影视在线观看| 91国内精品久久| 永久免费av无码网站性色av| 欧洲大片精品免费永久看nba| 亚洲成人一区在线| 国产又爽又黄ai换脸| 四虎影院在线域名免费观看| 精品一区二区三区免费毛片爱| 97成人精品区在线播放| 天天色影综合网| 久久精品国产亚洲5555| 欧美夫妻性生活| 精品一卡二卡三卡| 黑人精品视频| 日本一区二区高清| 精品久久精品久久| 国产成人久久精品77777综合| 亚洲国产一区二区精品专区| 精品国产视频在线| av电影网站在线观看| 韩国女主播一区二区三区| 欧美日韩亚洲综合| 国产成人无码一二三区视频| 人妖欧美1区| 综合久久一区二区三区| 色涩成人影视在线播放| 天天操天天射天天| 国产不卡免费视频| 91在线免费视频| 中文字幕91爱爱| 宅男噜噜噜66一区二区| 欧美极品少妇xxxxⅹ裸体艺术| 久久久精品少妇| 四虎在线观看| 国产高清一区| 色噜噜狠狠狠综合曰曰曰| 日韩人妻无码一区二区三区| 精品国产一区二区三区成人影院| 日韩亚洲欧美在线| 992kp免费看片| 亚洲狼人综合| 69堂成人精品免费视频| 亚洲xxx在线观看| 免费一级欧美在线观看视频| 欧美熟乱第一页| 91国产精品视频在线观看| 欧洲亚洲两性| 91精品福利视频| 欧美aⅴ在线观看| 成人小电影网站| 色一情一伦一子一伦一区| 99久久久无码国产精品6| 欧美日韩电影免费看| 91黄色免费看| 天美星空大象mv在线观看视频| 午夜av成人| 欧美视频一区二区三区四区| 97超碰成人在线| 成人污污视频| 精品国产区一区| 国产69视频在线观看| 欧洲亚洲成人| 亚洲视频在线免费观看| 久久精品色妇熟妇丰满人妻| 日韩电影免费在线观看| 久久精品国产一区二区电影| 久久综合成人网| 亚洲美女黄网| 青草成人免费视频| 亚洲怡红院av| 国产一区二区在线看| 国产精品久久久久久久久久直播 | 黄色短视频在线观看| 亚洲精品推荐| 最新国产成人av网站网址麻豆| 日韩欧美国产成人精品免费| 一区视频在线看| 国产成人黄色av| 亚洲一级视频在线观看| 国产很黄免费观看久久| 久久综合一区二区三区| 亚洲精品承认| 亚洲va欧美va人人爽| 日本精品一区在线观看| 欧美日韩va| 亚洲第一男人天堂| 中文字幕免费视频| 欧美a级片网站| 国产91热爆ts人妖在线| 国产富婆一级全黄大片| 99久久精品免费精品国产| 一区二区不卡在线观看| 国产va在线视频| 51精品国自产在线| 欧美老熟妇乱大交xxxxx| 亚洲破处大片| 国产成人精品优优av| av手机免费看| 中文字幕国产一区| 日韩中字在线观看| 精品999日本久久久影院| 日韩精品高清在线| 国产一级大片在线观看| 麻豆精品一二三| 免费国产一区二区| 午夜小视频在线观看| 在线观看欧美精品| 日韩av无码一区二区三区不卡 | 影音先锋在线亚洲| 无遮挡爽大片在线观看视频| 91精品国产高清一区二区三区| 性高潮久久久久久久| 亚洲国产高清视频| 亚洲影视中文字幕| 2017亚洲天堂1024| 欧美性极品xxxx娇小| 人妻互换一二三区激情视频| 久久中文字幕二区| 国产成人精品电影久久久| 少妇人妻偷人精品一区二区 | 精品亚洲永久免费| 国产麻豆视频一区| 制服诱惑一区| 国产精品久久久久久久久免费高清| 亚洲精品久久久久久下一站| 久久久久久久久99| 国产一区二区精品久久| 在线观看福利一区| 成人性片免费| 综合久久五月天| 69视频免费看| 国产日韩欧美一区二区三区综合 | yellow字幕网在线| 精品捆绑美女sm三区| 欧美色图一区二区| 国产在线国偷精品产拍免费yy| 五月天亚洲综合小说网| 一本大道色婷婷在线| 日韩av网址在线| 激情五月色婷婷| 不卡电影一区二区三区| 日本人体一区二区| 九色丨蝌蚪丨成人| 91精品国产高清| 污污网站免费在线观看| 精品欧美国产一区二区三区| a视频免费观看| 久久久精品网| 国产一区二区在线看| 精品亚洲第一| 超碰国产一区| 国产一区二区日韩| 国产成人av免费| 国产精品无码永久免费888| 91人人澡人人爽人人精品| 精品无人区麻豆乱码久久久| 国产精品高潮呻吟久久av野狼| 久久久久久久久亚洲精品| 一本到高清视频免费精品| xxx在线播放| 免费成人在线网站| 国产成年人在线观看| 日韩欧美中文字幕一区二区三区| 久久免费视频这里只有精品| 日本午夜在线| 欧美日韩成人激情| 国产一区二区视频在线观看免费| 成人午夜av电影| 欧美性大战久久久久xxx| 精品日韩一区| 亚洲已满18点击进入在线看片 | 中文字幕第100页| 亚洲国产一区二区在线观看 | 亚洲国产999| 精品久久久久久久久中文字幕| 性の欲びの女javhd| 韩国v欧美v亚洲v日本v| 亚洲精品无码国产| 精品大片一区二区| 国产成人亚洲欧美| 精品免费av在线| 久久福利视频网| 日韩二区三区| 欧美电影在线免费观看| 亚洲精品77777| 国产精品成人免费在线| 亚洲少妇18p| 麻豆精品一区二区三区| 国产午夜福利在线播放| 97视频热人人精品免费| 国产欧美在线一区二区| 97精品国产99久久久久久免费| 欧美国产日韩免费| 波多野结衣在线影院| 欧美不卡在线视频| 国产97在线亚洲| 无码精品在线观看| 91欧美在线| 91色综合久久久久婷婷| a级网站在线观看| 无码少妇一区二区三区| 亚洲中国色老太| 午夜精品成人av| 欧美华人在线视频| 91高清在线| 日韩精品极品在线观看| 国产高清在线免费| 欧美日韩一卡二卡三卡| wwwxxx亚洲| 亚洲综合无码一区二区| 国产在线免费av| 91蜜桃免费观看视频| 精品无码av一区二区三区不卡| 美洲天堂一区二卡三卡四卡视频| 日本三级免费观看| 亚洲美女91| 黄色一级片黄色| 欧美一区视频| 中文字幕一区二区三区在线乱码| 国产乱码精品一区二区亚洲| 国产精品成人观看视频免费| 日韩成人久久| 91网站在线看| 天堂久久一区| 成人精品视频在线| 国产福利91精品一区二区| 日本亚洲欧洲色| 涩涩av在线| 性色av香蕉一区二区| 欧美寡妇性猛交xxx免费| 久久艳片www.17c.com| 日韩黄色影院| 色偷偷88888欧美精品久久久 | 亚洲色图校园春色| 偷拍精品一区二区三区| 亚洲白虎美女被爆操| 亚洲第一视频在线| 亚洲精品一区二区三区99| 懂色av蜜臀av粉嫩av分享吧 | 午夜一区在线观看| 精品国产乱码久久久久久免费 | 精品性高朝久久久久久久| 香蕉视频免费在线看| 亚洲电影av在线| 无码国精品一区二区免费蜜桃| 亚洲精品久久久一区二区三区| 国产成人无码www免费视频播放| 日韩欧美国产电影| 高清一区二区三区四区| 日韩av网站电影| 国产在线网站| 日韩一区二区av| 18+激情视频在线| 欧美激情精品久久久久久大尺度| 国产99re66在线视频| 97免费视频在线播放| 美女100%一区| 国产精品女人网站| 国产欧美日韩电影| 国产精品国产精品| 亚洲区小说区图片区qvod按摩 | 91精品一区二区三区综合| 26uuu成人| 在线观看不卡| 亚洲成人福利在线观看| 国产毛片一区二区| 欧美无人区码suv| 中文字幕成人av| 亚洲欧美一区二区三区四区五区| 香蕉av福利精品导航| 日韩三级一区二区| 91精品国产综合久久久蜜臀粉嫩| 国产 日韩 欧美 精品| 国产午夜精品视频| 成人在线免费看片| 欧美一区二区三区精品电影| www.成人在线视频| av一区观看| 国产精品美女久久久久久不卡| 97超碰免费观看| 99精品视频免费全部在线| 999精彩视频| 成人精品一区二区三区中文字幕| 高清国产在线观看| 亚洲乱码国产乱码精品精可以看| 特级做a爱片免费69| 欧美精品 日韩| 亚洲精品国产精品国| 一本大道久久加勒比香蕉| 色呦呦在线播放| 国产成人精品日本亚洲| 成人直播在线观看| 天堂精品视频| 一区二区三区四区电影| av免费网站观看| 成年人国产精品| 日本免费网站视频| 色综合久久久久网| 精品人妻无码一区二区色欲产成人| 亚洲区一区二区| 日本欧美电影在线观看| 国产精品人人做人人爽| 亚洲妇女av| 日韩伦理在线免费观看| 精品一区二区三区在线观看国产 | 色天下一区二区三区| 99精品视频网站| 久久国产欧美| 国产人妻人伦精品1国产丝袜| 亚洲综合视频在线观看| 亚洲在线视频播放| 亚洲美女av在线| 大菠萝精品导航| 粉嫩高清一区二区三区精品视频| 日韩欧美午夜| 国产a级片免费观看| 99这里都是精品| www.av视频在线观看| 欧美一区二区三区不卡| 在线视频婷婷| 国产精品88a∨| 久久99久久人婷婷精品综合| 国产 日韩 欧美在线| 国产精品综合视频| 国产又粗又硬又长又爽| 欧美乱妇20p| 欧美性天天影视| 国产一区二区香蕉| 三区四区不卡| 网站一区二区三区| 国产精品无码永久免费888| 久久精品99北条麻妃| 永久免费看mv网站入口亚洲| xx欧美视频| 欧美资源一区| 视频一区二区三区在线| 欧美偷拍一区二区三区| 91久久奴性调教| wwwww在线观看免费视频| 国产精品欧美日韩| 99国内精品久久久久久久| 91国内在线播放| 亚洲人成7777| 国产a级免费视频| 欧美国产一区二区三区| silk一区二区三区精品视频 | 日韩精品一级中文字幕精品视频免费观看 | 精品人伦一区二区色婷婷| 午夜小视频在线观看| 国产一级特黄a大片99| 亚洲在线国产日韩欧美| 国产精品密蕾丝袜| 欧美亚洲愉拍一区二区| 午夜视频在线看| 91成人免费视频| 亚洲清纯自拍| 一区二区三区久久久久| 欧美日韩激情在线| 污片视频在线免费观看| 国模一区二区三区私拍视频| 免费日韩av片| 粉嫩精品久久99综合一区| 欧美一区二区精品| 国产蜜臀av在线播放| 美女视频久久| 麻豆成人av在线| 久久久全国免费视频| 日韩精品久久久久久福利| 国产精品成人国产| 色婷婷777777仙踪林| 91女厕偷拍女厕偷拍高清| 中文字幕乱码无码人妻系列蜜桃| 久久成人一区二区| 同性恋视频一区| 三级性生活视频| 五月天亚洲婷婷| 五月婷婷在线视频| 国产精品一区二区三区不卡| 日本网站在线观看一区二区三区 | 精品国产31久久久久久| 99免在线观看免费视频高清| 成人综合色站| 青青国产91久久久久久 | 欧美极品一区二区三区| 免费观看av网站| 欧美一卡2卡三卡4卡5免费| 周于希免费高清在线观看| 久久免费看毛片| 久久久久久亚洲综合| 99久久精品免费看国产交换|