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

Hibernate Annotation案例分析

開發(fā) 后端
這里介紹Hibernate Annotation,目前,JPA(Java Persistence API)的使用范圍越來越廣,作為Java EE 5.0平臺標(biāo)準(zhǔn)的ORM規(guī)范,得到了諸如:Hibernate、TopLink、OpenJpa等ORM框架的支持,同時(shí)還是EJB 3.0的重要組成部分。

Hibernate有很多值得學(xué)習(xí)的地方,這里我們以JPA——Hibernate Annotation一個案例來具體說明。

目前,JPA(Java Persistence API)的使用范圍越來越廣,作為Java EE 5.0平臺標(biāo)準(zhǔn)的ORM規(guī)范,得到了諸如:Hibernate、TopLink、OpenJpa等ORM框架的支持,同時(shí)還是EJB 3.0的重要組成部分。JPA的宗旨是為POJO提供持久化標(biāo)準(zhǔn)規(guī)范。它能夠脫離容器獨(dú)立運(yùn)行,方便開發(fā)和測試。本文將通過一個小實(shí)例來說明如何在Hibernate Annotation中使用JPA,來達(dá)到簡化編程的目的。

開發(fā)環(huán)境  Eclipse 3.3.1  MyEclipse 6.0.1GA  Tomcat 6.10  SQL Server 2000  hibernate-3.2.5.GA  hibernate-annotations-3.3.0.GA   ejb3-persistence  hibernate-commons-annotations-3.0.0.GA

本文是為后續(xù)的多種Ajax技術(shù)框架應(yīng)用系列作一個前期準(zhǔn)備,讓大家先了解一下相比與以前的Hibernate ORM映射的不同之處,以及采用JPA所帶來的好處。
為了保證程序能順序運(yùn)行,避免不同的Eclipse版本之間產(chǎn)生錯誤,大象強(qiáng)烈建議,下載源碼后,按源碼中的工程名,自己單獨(dú)新建同一個工程,再將src和WEB-INF/lib目錄下的所有文件COPY至對應(yīng)的目錄下。
1、創(chuàng)建Web Projec

點(diǎn)擊"File"->"New",選擇"Web Project",在"Project Name"中輸入ajax,點(diǎn)擊"Finish"。下載本文后面需要用到的JAR包,加入到WEB-INF/lib目錄下,在ajax工程中,文本采用的是UTF-8編碼。

2、創(chuàng)建HibernateSessionFactory

傳統(tǒng)的方法就是在工程名上點(diǎn)右鍵,選擇”MyEclipse”->”Add Hibernate Capabilities”,然后就是按照提示一步一步做,不過在MyEclipse 6.0.1中添加Hibernate還是只能支持3.1,除非你選擇” Add Spring Capabilities”,里面才有Hibernate 3.2的類庫,要想完全兼容JPA,必須采用3.2以上版本。

這里大家直接使用源碼中的HibernateSessionFactory,注意請先建包:com.ajax.core,HibernateSessionFactory中有一個地方需要改動,原來的寫法是:

  1. private static Configuration configuration = new Configuration(); 

修改后為:

  1. private static AnnotationConfiguration configuration = new AnnotationConfiguration(); 

因?yàn)槲覀儾捎玫氖荍PA注釋方式來映射實(shí)體,另外AnnotationConfiguration這個類在hibernate-annotations.jar這個包中。

3、創(chuàng)建BaseDao

在com.ajax.core包下面新建BaseDao抽象類,里面定義的是持久化操作方法,有一點(diǎn)特別要注意,一定要在增加、刪除、修改這幾個方法中加入事務(wù)控制,不管是在BaseDao基類方法中加,還是在業(yè)務(wù)方法中加,一定要加事務(wù)控制,大象覺得在基類中加會比較好一點(diǎn),這樣做代碼顯得更少更簡潔。如果不加事務(wù)控制,那么增、刪、改這些操作都不會產(chǎn)生效果,因?yàn)槟J(rèn)情況下,它不會進(jìn)行自動提交。在做這個例子的時(shí)候,這個問題曾經(jīng)困擾了我好長時(shí)間。因此,請大家記住不要再犯和大象一樣的錯誤!貼出部分代碼,詳情請看源碼,里面有很全面的注釋。

  1. /**  
  2.  * 抽象Dao類,用于持久化操作  
  3.  * @author 菠蘿大象  
  4.  * @version 1.0  
  5.  */  
  6. public abstract class BaseDao<T> {  
  7.  
  8.     private static Log log = LogFactory.getLog(BaseDao.class);  
  9.       
  10.     /**  
  11.      * 獲取Hibernate的Session對象  
  12.      */  
  13.     public Session getSession(){  
  14.         return HibernateSessionFactory.getSession();  
  15.     }  
  16.       
  17.     /**  
  18.      * 根據(jù)主鍵得到對象  
  19.      */  
  20.     public T getObject(Class clazz, Serializable id){  
  21.         return (T)getSession().get(clazz, id);  
  22.     }  
  23.       
  24.     /**  
  25.      * 保存對象  
  26.      */  
  27.     public void saveObject(T t) {  
  28.         Session session = getSession();  
  29.         Transaction tx = beginTransaction(session);  
  30.         try{  
  31.             session.saveOrUpdate(t);  
  32.             tx.commit();  
  33.         }catch(Exception e){  
  34.             tx.rollback();  
  35.             log.error("保存對象失敗");  
  36.         }  
  37.     }  
  38.       
  39.     /**  
  40.      * 創(chuàng)建事務(wù)  
  41.      */  
  42.     private Transaction beginTransaction(Session session){  
  43.         return session.beginTransaction();  
  44.     }  

4、創(chuàng)建Employee

在com.ajax.employee.mode包下新建Employee類,這個就是POJO類,下面來詳細(xì)說明里面的含義。

  1. @Entity  
  2. @Table(name = "EMPLOYEE")  
  3. public class Employee implements java.io.Serializable{  
  4.       
  5.     private Integer employee_id; //人員ID(主鍵)  
  6.     private String employee_name; //人員姓名  
  7.     private String sex; //性別  
  8.     private String birthday; //出生日期  
  9.     private String address; //地址  
  10.       
  11.     @Id  
  12.     @Column(name = "EMPLOYEE_ID")  
  13.     @TableGenerator(  
  14.          name="tab-store",  
  15.          table="GENERATOR_TABLE",  
  16.          pkColumnName = "G_KEY",  
  17.          pkColumnValue="EMPLOYEE_PK",  
  18.          valueColumnName = "G_VALUE",  
  19.          allocationSize=1 
  20.     )  
  21.     @GeneratedValue(strategy = GenerationType.TABLE,generator="tab-store")  
  22.     public Integer getEmployee_id() {  
  23.         return employee_id;  
  24.     }  
  25.     public void setEmployee_id(Integer employee_id) {  
  26.         this.employee_id = employee_id;  
  27.     }  

其它幾個屬性的getter和setter省略,這里我們要用到ejb3-persistence.jar,JPA的注解類就在這個包中,下面詳細(xì)說明上面使用到的注解。
      @Entity:通過@Entity注解將一個類聲明為一個實(shí)體bean
      @Table:通過 @Table注解可以為實(shí)體bean映射指定表,name屬性表示實(shí)體所對應(yīng)表的名稱,如果沒有定義 @Table,那么系統(tǒng)自動使用默認(rèn)值:實(shí)體的類名(不帶包名)
      @Id:用于標(biāo)記屬性的主鍵
      @Column:表示持久化屬性所映射表中的字段,如果屬性名與表中的字段名相同,則可以省略@Column注解,另外有兩種方式標(biāo)記,一是放在屬性前,另一種是放在getter方法前,例如:

  1. @Column(name = "EMPLOYEE_NAME")  
  2. private String employee_name; 

 或者

  1. @Column(name = "EMPLOYEE_NAME")  
  2.     public String getEmployee_name() {  
  3.         return employee_name;  
  4.     } 

這兩種方式都是正解的,根據(jù)個人喜好來選擇。大象偏向于第二種,并且喜歡將屬性名與字段名設(shè)成一樣的,這樣可以省掉@Column注解,使代碼更簡潔。
 @TableGenerator:表生成器,將當(dāng)前主鍵的值單獨(dú)保存到一個數(shù)據(jù)庫表中,主鍵的值每次都是從指定的表中查詢來獲得,這種生成主鍵的方式是很常用的。這種方法生成主鍵的策略可以適用于任何數(shù)據(jù)庫,不必?fù)?dān)心不同數(shù)據(jù)庫不兼容造成的問題。大象推薦這種方式管理主鍵,很方便,集中式管理表的主鍵,而且更換數(shù)據(jù)庫不會造成很大的問題。各屬性含義如下:
◆name:表示該表主鍵生成策略的名稱,這個名字可以自定義,它被引用在@GeneratedValue中設(shè)置的"generator"值中
◆table:表示表生成策略所持久化的表名,說簡單點(diǎn)就是一個管理其它表主鍵的表,本例中,這個表名為GENERATOR_TABLE
◆pkColumnName:表生成器中的列名,用來存放其它表的主鍵鍵名,這個列名是與表中的字段對應(yīng)的
◆pkColumnValue:實(shí)體表所對應(yīng)到生成器表中的主鍵名,這個鍵名是可以自定義滴
◆valueColumnName:表生成器中的列名,實(shí)體表主鍵的下一個值,假設(shè)EMPLOYEE表中的EMPLOYEE_ID最大為2 那么此時(shí),生成器表中與實(shí)體表主鍵對應(yīng)的鍵名值則為3
◆allocationSize:表示每次主鍵值增加的大小,例如設(shè)置成1,則表示每次創(chuàng)建新記錄后自動加1,默認(rèn)為50

@GeneratedValue:定義主鍵生成策略,這里因?yàn)槭褂玫氖荰ableGenerator,所以,主鍵的生成策略為GenerationType.TABLE,生成主鍵策略的名稱則為前面定義的”tab-store”。

這里大象想說下,網(wǎng)上有很多文章寫的是strategy = GenerationType.AUTO或是strategy = GenerationType.SEQUENCE,采用SEQUENCE序列是因?yàn)镺racle數(shù)據(jù)中不支持identity自動增長,要想使用它,還得在數(shù)據(jù)庫中創(chuàng)建一個序列,如果要更換數(shù)據(jù)庫,那將是一個非常麻煩的事情。SEQUENCE生成方式我們暫且不談,這里說下采用AUTO和IDENTITY的生成方式,本例采用的是SQL Server 2000作為數(shù)據(jù)庫,所以如果想使用AUTO或是IDENTITY生成策略,則一定要對主鍵加上identity標(biāo)識,如identity(1,1)。不過對于AUTO來說,是根據(jù)不同的數(shù)據(jù)庫選擇最合適的自增主鍵生成策略。

如果使用MySQL,則主鍵要定義AUTO_INCREMENT,如果是Oracle,則要創(chuàng)建Sequence來實(shí)現(xiàn)自增。不管采用何種生成策略,增、刪、改這些方法中一定要加入事務(wù),否則數(shù)據(jù)是不會添加到數(shù)據(jù)庫中滴~~~這是大象反復(fù)測試過的結(jié)果!

5、創(chuàng)建數(shù)據(jù)庫及表

接下來,我們需要為本例創(chuàng)建一個數(shù)據(jù)庫及必要的表。數(shù)據(jù)庫名為ajax,表只有兩個EMPLOYEE和GENERATOR_TABLE,下面是SQL腳本:

  1. CREATE TABLE EMPLOYEE(  
  2.     EMPLOYEE_ID int not null,  
  3.     EMPLOYEE_NAME varchar (20) null,  
  4.     SEX char (2) null,  
  5.     BIRTHDAY varchar(10) null,  
  6.     ADDRESS varchar(50) null,  
  7.     CONSTRAINT PK_EMPLOYEE PRIMARY KEY (EMPLOYEE_ID)  
  8. )   
  9.  
  10. CREATE TABLE GENERATOR_TABLE(  
  11.     ID int not null,  
  12.     G_KEY varchar(20) null,  
  13.     G_VALUE int null,  
  14.     CONSTRAINT PK_GENERATOR_TABLE PRIMARY KEY (ID)   
  15. )  
  16.  
  17. INSERT INTO GENERATOR_TABLE VALUES(1,EMPLOYEE_PK,1) 

如果你覺得麻煩,不想建庫及表,可以將后面的數(shù)據(jù)庫下載下來,然后還原數(shù)據(jù)庫就可以了。

6、修改hibernate.cfg.xml

本例中,采用的是JTDS連接驅(qū)動,我們要對配置文件作一些設(shè)置,另外還要加入POJO類。

  1. <property name="dialect">org.hibernate.dialect.SQLServerDialectproperty> 
  2.     <property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driverproperty> 
  3.     <property name="connection.url">jdbc:jtds:sqlserver://localhost:1433/ajaxproperty> 
  4.     <property name="connection.username">saproperty> 
  5.     <property name="connection.password">自己密碼(無密碼就空著)property> 
  6.      
  7.     <mapping class="com.ajax.employee.model.Employee"/> 

以前沒有使用JPA注解的時(shí)候,我們這里加入的都是hbm.xml文件,現(xiàn)在我們則加入的是類。

7、創(chuàng)建EmployeeManager

在com.ajax.employee.service下新建EmployeeManager類,這里面就是寫業(yè)務(wù)方法,另外在這個類中添加一個main方法用于測試,將log4j的日志級別調(diào)整為DEBUG,這樣我們就可以看到很詳細(xì)的程序運(yùn)行信息,源碼中的注釋很詳細(xì),這里就不貼出來了。
本例沒有提供MySQL和Oracle數(shù)據(jù)庫的腳本,不過這些應(yīng)該很簡單,按照最基本的方式建一個數(shù)據(jù)庫和兩張表就行了,這里附上兩種數(shù)據(jù)庫的hibernate配置。
MySQL:

  1. <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialectproperty> 
  2.     <property name="connection.driver_class">com.mysql.jdbc.Driverproperty> 
  3.     <property name="connection.url">jdbc:mysql://localhost:3306/ajaxproperty> 
  4.     <property name="connection.username">rootproperty> 
  5.     <property name="connection.password">自己的密碼(無密碼就空著)property> 

Oracle:

  1. <property name="hibernate.dialect">org.hibernate.dialect.OracleDialectproperty> 
  2.     <property name="connection.driver_class">oracle.jdbc.driver.OracleDriverproperty> 
  3.     <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:自己的SIDproperty> 
  4.     <property name="connection.username">systemproperty> 
  5.     <property name="connection.password">自己的密碼(無密碼就空著)property> 

本文主要是從實(shí)用的角度來說明如何在Hibernate Annotation中使用JPA注釋來簡化開發(fā),以及為后面的多種Ajax技術(shù)框架應(yīng)用系列作一個前期準(zhǔn)備。從這里可以看出,我們不需要再編寫繁瑣的hbm.xml文件。另外,JPA的功能很強(qiáng)大,這里只展示了其中的冰山一角,如果想深入學(xué)習(xí)JPA的話,請單獨(dú)查找資料或購買相關(guān)書籍。

【編輯推薦】

  1. Hibernate查詢緩存全面分析
  2. Hibernate經(jīng)驗(yàn)簡單描述
  3. Hibernate項(xiàng)目學(xué)習(xí)經(jīng)驗(yàn)
  4. 概括Hibernate中cascade和inverse
  5. 3G與IPTV是發(fā)展大方向
責(zé)任編輯:仲衡 來源: blogjava
相關(guān)推薦

2009-09-22 17:32:38

Hibernate A

2009-09-25 17:26:55

使用Hibernate

2009-06-01 12:11:31

hibernatejpa復(fù)合主鍵

2009-09-23 16:39:51

Hibernate s

2009-09-22 14:46:18

struts-spri

2009-09-22 17:47:03

Hibernate s

2009-09-23 10:28:16

Hibernate映像

2009-09-23 13:33:51

Hibernate屬性

2009-09-24 09:35:47

Hibernate插入

2009-09-28 15:38:12

Hibernate P

2009-09-21 18:00:49

Hibernate X

2009-09-22 14:23:37

Hibernate S

2017-05-12 15:47:15

Spring BootMybatis Ann Web

2009-09-24 13:12:20

Hibernate原生

2009-09-21 14:24:08

Hibernate3.

2009-09-22 11:24:07

Hibernate查詢

2009-09-24 13:49:31

Hibernate自增

2009-09-29 10:40:26

Hibernate業(yè)務(wù)

2009-09-25 14:04:12

Hibernate讀取

2009-09-28 10:39:01

Hibernate基礎(chǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲东热激情| 久久国产三级| 国产视频在线观看一区二区三区 | 国产一区一一区高清不卡| 国产精品色哟哟网站| 97人人干人人| www.日韩一区| 欧美午夜一区| 中文字幕日韩欧美| 国产黄色三级网站| 亚洲一区av| 欧美日韩中文字幕日韩欧美| 在线视频一区观看| 头脑特工队2在线播放| 美日韩一区二区三区| 久久久久久久久久国产| 欧美激情视频二区| 欧美sss在线视频| 777色狠狠一区二区三区| 日韩少妇内射免费播放18禁裸乳| 黄a在线观看| 亚洲国产精品黑人久久久 | av中字幕久久| 亚洲国产精品系列| 久久精品无码一区二区三区毛片| eeuss鲁片一区二区三区在线观看| 亚洲欧美日韩国产中文| 天堂网成人在线| 欧美xnxx| 天天色图综合网| 樱空桃在线播放| 川上优的av在线一区二区| 成人h动漫精品一区二区| 国产欧美久久一区二区| 久久午夜免费视频| 精品电影一区| 九色成人免费视频| 中日韩一级黄色片| 久久视频在线| 在线精品播放av| 中文字幕人妻一区二区| 精品国产一区二区三区成人影院 | yourporn在线观看视频| 久久综合国产精品| 精品乱子伦一区二区三区| 精品人妻一区二区三区日产乱码| 久久国产欧美日韩精品| 国产精品亚发布| 久久久久精彩视频| 免费成人美女在线观看.| 国产成人在线一区二区| 中文字幕精品无| 天堂久久一区二区三区| 热久久这里只有精品| 欧美特黄aaaaaa| 先锋影音久久| 国产成人涩涩涩视频在线观看 | 96av在线| 五月婷婷激情综合| 欧美成人高潮一二区在线看| 不卡一本毛片| 精品久久久在线观看| 成熟丰满熟妇高潮xxxxx视频| 高潮在线视频| 日韩欧美在线中文字幕| 无码人妻丰满熟妇区五十路百度| 欧美大片免费高清观看| 欧亚一区二区三区| 九一精品久久久| 国产一区二区三区亚洲综合| 日韩欧美高清在线| 五十路六十路七十路熟婆| 亚洲人亚洲人色久| 中文字幕欧美在线| 欧美卡一卡二卡三| 亚洲黄网站黄| 日本中文字幕久久看| 在线观看黄色国产| 国产成人亚洲综合a∨猫咪| 99在线看视频| 国产又爽又黄网站亚洲视频123| 久久精品亚洲精品国产欧美kt∨| 亚洲午夜精品久久久中文影院av| 性欧美videoshd高清| 午夜精品久久久久久久99水蜜桃| 免费在线激情视频| 欧美亚洲二区| 亚洲成人久久一区| 一级黄色录像毛片| 欧美在线1区| 91po在线观看91精品国产性色| 夜夜爽妓女8888视频免费观看| 麻豆精品一二三| 成人欧美视频在线| 搞黄视频在线观看| 一区二区三区中文在线| 国产一区二区在线视频播放| 久久99久久久精品欧美| 精品国产a毛片| 婷婷综合在线视频| 极品中文字幕一区| 国产日韩av高清| 五月天婷婷社区| 中文字幕亚洲不卡| 免费黄色日本网站| 日本免费一区二区三区视频| 亚洲欧美日韩中文在线| 久久亚洲av午夜福利精品一区| 三级久久三级久久| 国产一区二区高清视频| 黄色成人在线观看| 在线免费观看不卡av| 亚洲精品久久一区二区三区777| 国产一区二区三区91| 韩国美女主播一区| 国产乱色精品成人免费视频| 久久免费精品国产久精品久久久久| 大片在线观看网站免费收看| 欧美性理论片在线观看片免费| 欧美精品一区二区三区蜜桃视频| 欧美激情精品久久久久久免费| 日韩不卡手机在线v区| 国产亚洲一区在线播放| 日韩三级电影视频| 欧美老女人第四色| 黄色短视频在线观看| 激情欧美日韩一区| aa日韩免费精品视频一| 黄色av网站在线播放| 欧美日韩亚洲综合一区二区三区| 国产精品无码久久久久一区二区| 亚洲第一在线| 国产精品视频福利| 日本中文字幕中出在线| 91精品国产免费久久综合| 色偷偷男人天堂| 日韩av不卡一区二区| 欧美国产二区| 人人草在线视频| 亚洲国产欧美一区| 日韩欧美中文字幕一区二区| 成人不卡免费av| 免费无码毛片一区二三区| 成人中文字幕视频| 国内精品久久影院| 亚洲欧洲国产综合| 天天色图综合网| 激情综合丁香五月| 性伦欧美刺激片在线观看| 精品不卡在线| 92国产精品| 亚洲欧美日韩另类| 99re这里只有精品在线| 国产亚洲女人久久久久毛片| 北条麻妃视频在线| 首页国产精品| 92国产精品久久久久首页 | 精品动漫一区二区三区| 亚洲欧美日本一区| 久久亚洲电影| 亚洲欧美国产精品桃花| 自拍偷拍亚洲图片| 欧美日韩aaaa| 婷婷亚洲一区二区三区| 色哟哟国产精品免费观看| 国产精品美女高潮无套| 久久国产精品第一页| 在线观看三级网站| 极品一区美女高清| 国产成人精品av在线| 日韩欧美小视频| 欧美www视频| 久久国产视频精品| 中文字幕一区二区三区在线播放| 人妻精品久久久久中文字幕69| 激情成人综合| 日本一区二区高清视频| 在线不卡一区| 97人人模人人爽人人喊中文字| 黄视频在线播放| 欧美高清dvd| 日韩少妇高潮抽搐| 欧美国产激情二区三区| 少妇愉情理伦片bd| 免费精品视频| 最新av网址在线观看| 牛牛影视久久网| 国产免费成人av| 成人福利电影| 色妞久久福利网| 人妻偷人精品一区二区三区| 欧美亚洲日本一区| 不卡的免费av| 中文字幕一区在线| 日韩网站在线播放| 国产一区二区日韩精品| 妺妺窝人体色www在线小说| 五月天激情综合网| 玛丽玛丽电影原版免费观看1977| a一区二区三区亚洲| 欧美一级淫片播放口| 成人黄色在线电影| 国产亚洲欧美视频| 99久久99久久精品免费看小说.| 久久电影一区| 男女爱爱视频网站| 国产剧情一区| 国产精品日韩欧美一区二区| av成人免费看| 国产91成人在在线播放| 最新av在线播放| 亚洲一二在线观看| 色一情一区二区三区四区| 91精品麻豆| 国产不卡一区二区在线播放| 日本动漫同人动漫在线观看| 国产亚洲激情视频在线| 国产又爽又黄网站亚洲视频123| 91精品国产全国免费观看| 男人天堂视频网| 天天爽夜夜爽夜夜爽精品视频| 精品99在线观看| 一色屋精品亚洲香蕉网站| xxx在线播放| 337p粉嫩大胆噜噜噜噜噜91av| 国产乱国产乱老熟300部视频| 久久99久久99小草精品免视看| 欧美一级片中文字幕| 亚洲欧美bt| 精品久久一二三| 伊人精品成人久久综合软件| 九九久久九九久久| 天天影视天天精品| 在线免费观看成人网| 成人一区二区| 亚洲日本精品一区| 日韩在线精品| 在线丝袜欧美日韩制服| 日韩欧美国产精品综合嫩v| 日本在线观看一区二区| 国产探花一区在线观看| 欧美日韩亚洲在线| 九九综合在线| 青娱乐国产91| 精品久久久久久久久久久下田| 欧美一区二区三区在线播放 | av人人综合网| 国内精品久久久久久中文字幕| 波多野结衣视频一区二区| 性色av一区二区三区免费| 3344国产永久在线观看视频| 国内精久久久久久久久久人| 国产传媒在线观看| 日本午夜人人精品| 51一区二区三区| 国产男女猛烈无遮挡91| crdy在线观看欧美| 国产高清精品一区| 亚洲调教一区| 日韩免费av一区二区三区| 日韩欧美中字| 色婷婷777777仙踪林| 一区免费视频| 国产淫片av片久久久久久| 青青青伊人色综合久久| 亚洲午夜激情影院| 国产**成人网毛片九色| 91亚洲一线产区二线产区| 91在线视频观看| 人成免费在线视频| 亚洲另类色综合网站| 日本学生初尝黑人巨免费视频| 丁香五六月婷婷久久激情| 成人一二三四区| 欧美精选午夜久久久乱码6080| 国产视频手机在线| 日韩成人中文字幕| 99免在线观看免费视频高清| 久久国产精品久久久| 日本а中文在线天堂| 国产精品美女www爽爽爽视频| 精品成人18| 蜜桃臀一区二区三区| 日韩系列欧美系列| 国产精品国产三级国产专区51| 亚洲欧美日韩专区| 欧美精品色视频| 成人亚洲精品久久久久软件| 亚洲精品午夜视频| 一卡二卡三卡日韩欧美| 中文字幕av影院| 欧美一区二区在线观看| 青青草超碰在线| 久久成人精品视频| 欧美最新精品| 俄罗斯精品一区二区三区| gogogo高清在线观看一区二区| 成人区一区二区| 秋霞午夜鲁丝一区二区老狼| 国产精品果冻传媒| 国产精品天干天干在线综合| 国产中文字幕免费| 欧美精品丝袜中出| 黄色软件在线观看| 久久久久国产精品www| 欧美一级免费| 日韩精品伦理第一区| 亚洲美女色禁图| 免费黄频在线观看| 国产日韩精品一区二区三区| 国产一级片免费看| 9191成人精品久久| 二区在线视频| 欧美一区二区三区四区在线| 中文字幕一区二区三区中文字幕| 亚洲精品一区二区三区av| 亚洲综合不卡| 国产日韩视频一区| 伊人色综合久久天天| 一区二区三区精彩视频| 亚洲一区www| 周于希免费高清在线观看| 国产精品一区二区三区不卡 | 日本高清久久久| 久久免费看少妇高潮| 女人十八岁毛片| 亚洲国产欧美一区| 国产在线看片免费视频在线观看| 亚洲伊人成综合成人网| 午夜精品一区二区三区国产 | 欧美日韩视频免费| 国产河南妇女毛片精品久久久| 国产精品成人69xxx免费视频| 精品视频一区二区不卡| 成人精品一区二区三区免费| 国产成人精品视| 欧美日韩中文一区二区| 日韩精品免费播放| 国产日韩欧美一区二区三区综合| 天堂网免费视频| 亚洲网址你懂得| 成人做爰免费视频免费看| 日产中文字幕在线精品一区| 首页国产欧美日韩丝袜| 一区二区精品免费| 欧美性一级生活| 日韩在线观看www| 成人免费在线网址| 午夜精品国产| 精品人妻伦一二三区久| 午夜精品福利久久久| 色中色在线视频| 热99久久精品| 欧美第十八页| 亚洲精品在线网址| 亚洲一二三级电影| 视频在线观看你懂的| 日韩男女性生活视频| 欧美日韩在线二区| 国产精品igao网网址不卡| 亚洲一区二区三区四区中文字幕| 国精产品一品二品国精品69xx| 91国产精品电影| 国产成人ay| 国产性生活一级片| 亚洲电影一区二区| 国产三级在线观看| 91精品视频免费| 好吊一区二区三区| 免费观看av网站| 欧美男生操女生| hd国产人妖ts另类视频| 欧美日韩综合网| 国内精品自线一区二区三区视频| 久久免费精彩视频| 亚洲欧洲在线观看| 亚洲欧美在线人成swag| 日韩欧美不卡在线| 亚洲国产精品成人久久综合一区| 国产三级伦理片| 欧美一级免费视频| 五月天久久久| 久久精品成人av| 日韩三区在线观看| 欧美gay视频| 青青视频免费在线| 国产日韩欧美亚洲| 成人免费一级视频| 国产精品视频免费在线| 黄色亚洲精品| 欧美88888| 精品无人区乱码1区2区3区在线| 亚洲日韩中文字幕一区| 国产白丝袜美女久久久久| 亚洲欧洲成人av每日更新| 色香蕉在线视频| 91视频国产高清| 日本一区中文字幕| 国产成人无码精品亚洲| 久久高清视频免费|