日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

根据hibernate拦截器实现可配置日志的记录

發布時間:2025/3/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 根据hibernate拦截器实现可配置日志的记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于日志和事件的記錄在每個項目中都會用到,如果在每個manager層中觸發時間記錄的話,會比較難以擴展和維護,所以可配置的日志和事件記錄在項目中會用到!

首先在spring的配置文件中加入hibernate攔截器

Java代碼
  • <bean?id="sessionFactory"?class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> ??
  • ????<property?name="entityInterceptor"> ??
  • ????????????????<ref?bean="myInterceptor"/> ??
  • ????</property>???
  • </bean> ??
  • ??
  • ??
  • <bean?id="myInterceptor"?class="com.creawor.cbsms.util.MyInterceptor"?/>??
  • <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="entityInterceptor"> <ref bean="myInterceptor"/> </property> </bean> <bean id="myInterceptor" class="com.creawor.cbsms.util.MyInterceptor" />

    ?MyInterceptor攔截器為:

    Java代碼
  • package?com.creawor.cbsms.util; ??
  • ??
  • import?java.io.Serializable; ??
  • import?java.lang.reflect.InvocationTargetException; ??
  • import?java.lang.reflect.Method; ??
  • import?java.util.Iterator; ??
  • ??
  • import?javacommon.util.ApplicationContextHolder; ??
  • ??
  • import?org.hibernate.CallbackException; ??
  • import?org.hibernate.EntityMode; ??
  • import?org.hibernate.Interceptor; ??
  • import?org.hibernate.Transaction; ??
  • import?org.hibernate.type.Type; ??
  • ??
  • import?com.creawor.cbsms.event.EventRecord; ??
  • import?com.creawor.cbsms.model.CbsChannel; ??
  • import?com.creawor.cbsms.model.CbsMessage; ??
  • ??
  • ??
  • public?class?MyInterceptor?implements?Interceptor{ ??
  • ??
  • ??
  • ?????//刪除時記錄時間 ??
  • ????public?void?onDelete(Object?obj,?Serializable?arg1,?Object[]?arg2,?String[]?arg3,?Type[]?arg4)?throws?CallbackException?{ ??
  • ????????//?TODO?Auto-generated?method?stub ??
  • ????????String[]?entitys?=?EventRecord.getDeleteEntitysFireEvent(); ??
  • ????????for?(String?entityName?:?entitys)?{ ??
  • ????????????if?(entityName.equals(obj.getClass().getSimpleName()))?{ ??
  • ????????????????getEventRecordMethod(entityName,?obj,EventRecord.getDeleteInfo()); ??
  • ????????????} ??
  • ????????} ??
  • ??
  • ????} ??
  • ????????????????//修改時記錄事件 ??
  • ?????public?boolean?onFlushDirty(Object?obj,?Serializable?id,?Object[]?currentState,?Object[]?previousState?,?String[]?propertyNames,?Type[]?types){ ??
  • ???? ??
  • ????????String[]?entitys?=?EventRecord.getUpdateEntitysFireEvent(); ??
  • ????????for?(String?entityName?:?entitys)?{ ??
  • ????????????if?(entityName.equals(obj.getClass().getSimpleName()))?{ ??
  • ????????????????getEventRecordMethod(entityName,?obj,?EventRecord.getUpdateInfo()); ??
  • ????????????} ??
  • ????????} ??
  • ??
  • ????????return?false; ??
  • ????} ??
  • ????public?String?onPrepareStatement(String?arg0)?{ ??
  • ????????//?TODO?Auto-generated?method?stub ??
  • ????????return?arg0; ??
  • ????} ??
  • ???????????????//保存時記錄事件 ??
  • ????public?boolean?onSave(Object?obj,?Serializable?arg1,?Object[]?arg2,?String[]?arg3,?Type[]?arg4)?throws?CallbackException?{ ??
  • ????????//?TODO?Auto-generated?method?stub ??
  • ????????String[]?entitys?=?EventRecord.getSaveEntitysFireEvent(); ??
  • ????????for?(String?entityName?:?entitys)?{ ??
  • ????????????if?(entityName.equals(obj.getClass().getSimpleName()))?{ ??
  • ????????????????getEventRecordMethod(entityName,?obj,EventRecord.getSaveInfo()); ??
  • ????????????} ??
  • ????????} ??
  • ??
  • ????????return?false; ??
  • ????} ??
  • ???????????????//根據反射機制執行事件記錄類中相應的函數 ??
  • ????public?void?getEventRecordMethod(String?entityName,Object?obj,String?info){ ??
  • ????????try?{ ??
  • ????????????Class[]?parameterTypes?=?{String.class,Class.forName(EventRecord.getPrefixPackageName()+entityName)}; ??
  • ????????????Method?method?=?EventRecord.class.getMethod(EventRecord.getPrefixMethodName()+entityName,?parameterTypes); ??
  • ????????????Object[]?objs?=?{info,?Class.forName(EventRecord.getPrefixPackageName()+entityName).cast(obj)}; ??
  • ????????????method.invoke((EventRecord)ApplicationContextHolder.getBean("eventRecord"),objs); ??
  • ????????}?catch?(Exception?e)?{ ??
  • //?TODO?Auto-generated?catch?block ??
  • ????????????e.printStackTrace(); ??
  • ????????} ??
  • ??
  • }??
  • package com.creawor.cbsms.util; import java.io.Serializable; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Iterator; import javacommon.util.ApplicationContextHolder; import org.hibernate.CallbackException; import org.hibernate.EntityMode; import org.hibernate.Interceptor; import org.hibernate.Transaction; import org.hibernate.type.Type; import com.creawor.cbsms.event.EventRecord; import com.creawor.cbsms.model.CbsChannel; import com.creawor.cbsms.model.CbsMessage; public class MyInterceptor implements Interceptor{ //刪除時記錄時間 public void onDelete(Object obj, Serializable arg1, Object[] arg2, String[] arg3, Type[] arg4) throws CallbackException { // TODO Auto-generated method stub String[] entitys = EventRecord.getDeleteEntitysFireEvent(); for (String entityName : entitys) { if (entityName.equals(obj.getClass().getSimpleName())) { getEventRecordMethod(entityName, obj,EventRecord.getDeleteInfo()); } } } //修改時記錄事件 public boolean onFlushDirty(Object obj, Serializable id, Object[] currentState, Object[] previousState , String[] propertyNames, Type[] types){ String[] entitys = EventRecord.getUpdateEntitysFireEvent(); for (String entityName : entitys) { if (entityName.equals(obj.getClass().getSimpleName())) { getEventRecordMethod(entityName, obj, EventRecord.getUpdateInfo()); } } return false; } public String onPrepareStatement(String arg0) { // TODO Auto-generated method stub return arg0; } //保存時記錄事件 public boolean onSave(Object obj, Serializable arg1, Object[] arg2, String[] arg3, Type[] arg4) throws CallbackException { // TODO Auto-generated method stub String[] entitys = EventRecord.getSaveEntitysFireEvent(); for (String entityName : entitys) { if (entityName.equals(obj.getClass().getSimpleName())) { getEventRecordMethod(entityName, obj,EventRecord.getSaveInfo()); } } return false; } //根據反射機制執行事件記錄類中相應的函數 public void getEventRecordMethod(String entityName,Object obj,String info){ try { Class[] parameterTypes = {String.class,Class.forName(EventRecord.getPrefixPackageName()+entityName)}; Method method = EventRecord.class.getMethod(EventRecord.getPrefixMethodName()+entityName, parameterTypes); Object[] objs = {info, Class.forName(EventRecord.getPrefixPackageName()+entityName).cast(obj)}; method.invoke((EventRecord)ApplicationContextHolder.getBean("eventRecord"),objs); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }

    ?事件記錄類:

    Java代碼
  • package?com.creawor.cbsms.event; ??
  • ??
  • import?java.sql.Timestamp; ??
  • ??
  • import?javacommon.util.ApplicationContextHolder; ??
  • ??
  • import?com.creawor.cbsms.dao.CbsEventDao; ??
  • import?com.creawor.cbsms.model.CbsBsc; ??
  • import?com.creawor.cbsms.model.CbsBscCells; ??
  • import?com.creawor.cbsms.model.CbsChannel; ??
  • import?com.creawor.cbsms.model.CbsEvent; ??
  • import?com.creawor.cbsms.model.CbsUserRegister; ??
  • import?com.creawor.cbsms.service.CbsEventManager; ??
  • import?com.creawor.security.model.PermUser; ??
  • ??
  • public?class?EventRecord?{ ??
  • ???? ??
  • ???????????????//?保存時要記錄事件的對象 ??
  • ????private?static?String[]?saveEntitysFireEvent?=?{?"CbsBscCells", ??
  • ?????????????????????????????????????????????????????"CbsChannel",? ??
  • ?????????????????????????????????????????????????????"CbsBsc"?}; ??
  • ??
  • ????//?刪除時要記錄事件的對象 ??
  • ????private?static?String[]?deleteEntitysFireEvent?=?{?"CbsBscCells", ??
  • ???????????????????????????????????????????????????????"CbsChannel", ??
  • ???????????????????????????????????????????????????????"CbsBsc"?}; ??
  • ??
  • ????//?更新時要記錄事件的對象 ??
  • ????private?static?String[]?updateEntitysFireEvent?=?{?"CbsBscCells", ??
  • ???????????????????????????????????????????????????????"CbsChannel",? ??
  • ???????????????????????????????????????????????????????"CbsBsc"?}; ??
  • ??
  • ????//?包的前綴,反射得到類時使用 ??
  • ????private?static?String?prefixPackageName?=?"com.creawor.cbsms.model."; ??
  • ???? ??
  • ????//?記錄該次操作的登錄用戶名:EventRecord為session范圍 ??
  • ????private?String?userName; ??
  • ??
  • ????//?調用函數的前綴,反射執行函數時使用 ??
  • ????private?static?String?prefixMethodName?=?"recordFor"; ??
  • ??
  • ????//?執行save時,事件描述 ??
  • ????private?static?String?saveInfo?=?"創建"; ??
  • ??
  • ????//?執行delete時,事件描述 ??
  • ????private?static?String?deleteInfo?=?"刪除"; ??
  • ??
  • ????//?執行update時,事件描述 ??
  • ????private?static?String?updateInfo?=?"修改"; ??
  • ??
  • ???? ??
  • ??
  • ????private?CbsEventManager?cbsEventManager; ??
  • ??
  • ????//?spring自動注入 ??
  • ????public?void?setCbsEventManager(CbsEventManager?cbsEventManager)?{ ??
  • ????????this.cbsEventManager?=?cbsEventManager; ??
  • ????} ??
  • ??
  • ??????
  • ????public?void?recordForCbsChannel(String?desc,?CbsChannel?channel)?{ ??
  • ????????StringBuffer?eventDesc?=?new?StringBuffer(desc); ??
  • ????????eventDesc.append("頻道"?+?channel.getChannelName()).append("[").append( ??
  • ????????????????channel.getChannelNum()).append("]"); ??
  • ????????record(eventDesc.toString(),?null); ??
  • ????} ??
  • ??
  • ??????
  • ????public?void?recordForCbsBscCells(String?desc,?CbsBscCells?cell)?{ ??
  • ????????StringBuffer?eventDesc?=?new?StringBuffer(desc); ??
  • ????????eventDesc.append("小區"+cell.getCellName()).append("[").append( ??
  • ????????????????cell.getCellId()).append("]"); ??
  • ????????record(eventDesc.toString(),?null); ??
  • ????} ??
  • ??
  • ??????
  • ?????public?void?record(String?eventDesc,?String?eventOrigin)?{ ??
  • ?????????????????????????????CbsEvent?event?=?new?CbsEvent(); ??
  • ?????????????????????????????event.setEventDesc(userName?+?"???"?+?eventDesc); ??
  • ?????????????????????????????event.setEventOrigin(eventOrigin); ??
  • ?????????????????????????????event.setStartTime(new?Timestamp(System.currentTimeMillis())); ??
  • ????????????????????????????cbsEventManager.save(event); ??
  • ?????????????????} ??
  • ???? ??
  • ????public?void?setUserName(String?userName)?{ ??
  • ????????this.userName?=?userName; ??
  • ????} ??
  • ??
  • ????public?static?String[]?getDeleteEntitysFireEvent()?{ ??
  • ????????return?deleteEntitysFireEvent; ??
  • ????} ??
  • ??
  • ????public?static?String[]?getSaveEntitysFireEvent()?{ ??
  • ????????return?saveEntitysFireEvent; ??
  • ????} ??
  • ??
  • ????public?static?String[]?getUpdateEntitysFireEvent()?{ ??
  • ????????return?updateEntitysFireEvent; ??
  • ????} ??
  • ??
  • ????public?static?String?getPrefixPackageName()?{ ??
  • ????????return?prefixPackageName; ??
  • ????} ??
  • ??
  • ????public?static?void?setPrefixPackageName(String?prefixPackageName)?{ ??
  • ????????EventRecord.prefixPackageName?=?prefixPackageName; ??
  • ????} ??
  • ??
  • ????public?static?String?getPrefixMethodName()?{ ??
  • ????????return?prefixMethodName; ??
  • ????} ??
  • ??
  • ????public?static?String?getDeleteInfo()?{ ??
  • ????????return?deleteInfo; ??
  • ????} ??
  • ??
  • ????public?static?String?getSaveInfo()?{ ??
  • ????????return?saveInfo; ??
  • ????} ??
  • ??
  • ????public?static?String?getUpdateInfo()?{ ??
  • ????????return?updateInfo; ??
  • ????} ??
  • ??
  • }??
  • package com.creawor.cbsms.event; import java.sql.Timestamp; import javacommon.util.ApplicationContextHolder; import com.creawor.cbsms.dao.CbsEventDao; import com.creawor.cbsms.model.CbsBsc; import com.creawor.cbsms.model.CbsBscCells; import com.creawor.cbsms.model.CbsChannel; import com.creawor.cbsms.model.CbsEvent; import com.creawor.cbsms.model.CbsUserRegister; import com.creawor.cbsms.service.CbsEventManager; import com.creawor.security.model.PermUser; public class EventRecord { // 保存時要記錄事件的對象 private static String[] saveEntitysFireEvent = { "CbsBscCells", "CbsChannel", "CbsBsc" }; // 刪除時要記錄事件的對象 private static String[] deleteEntitysFireEvent = { "CbsBscCells", "CbsChannel", "CbsBsc" }; // 更新時要記錄事件的對象 private static String[] updateEntitysFireEvent = { "CbsBscCells", "CbsChannel", "CbsBsc" }; // 包的前綴,反射得到類時使用 private static String prefixPackageName = "com.creawor.cbsms.model."; // 記錄該次操作的登錄用戶名:EventRecord為session范圍 private String userName; // 調用函數的前綴,反射執行函數時使用 private static String prefixMethodName = "recordFor"; // 執行save時,事件描述 private static String saveInfo = "創建"; // 執行delete時,事件描述 private static String deleteInfo = "刪除"; // 執行update時,事件描述 private static String updateInfo = "修改"; private CbsEventManager cbsEventManager; // spring自動注入 public void setCbsEventManager(CbsEventManager cbsEventManager) { this.cbsEventManager = cbsEventManager; } public void recordForCbsChannel(String desc, CbsChannel channel) { StringBuffer eventDesc = new StringBuffer(desc); eventDesc.append("頻道" + channel.getChannelName()).append("[").append( channel.getChannelNum()).append("]"); record(eventDesc.toString(), null); } public void recordForCbsBscCells(String desc, CbsBscCells cell) { StringBuffer eventDesc = new StringBuffer(desc); eventDesc.append("小區"+cell.getCellName()).append("[").append( cell.getCellId()).append("]"); record(eventDesc.toString(), null); } ?public void record(String eventDesc, String eventOrigin) { ? ? CbsEvent event = new CbsEvent(); ? ? event.setEventDesc(userName + "?? " + eventDesc); ?? event.setEventOrigin(eventOrigin); ?? event.setStartTime(new Timestamp(System.currentTimeMillis())); ? ?cbsEventManager.save(event); ?} public void setUserName(String userName) { this.userName = userName; } public static String[] getDeleteEntitysFireEvent() { return deleteEntitysFireEvent; } public static String[] getSaveEntitysFireEvent() { return saveEntitysFireEvent; } public static String[] getUpdateEntitysFireEvent() { return updateEntitysFireEvent; } public static String getPrefixPackageName() { return prefixPackageName; } public static void setPrefixPackageName(String prefixPackageName) { EventRecord.prefixPackageName = prefixPackageName; } public static String getPrefixMethodName() { return prefixMethodName; } public static String getDeleteInfo() { return deleteInfo; } public static String getSaveInfo() { return saveInfo; } public static String getUpdateInfo() { return updateInfo; } }

    ?其中EventRecord 在spring中的配置為:

    Java代碼
  • <bean?id="eventRecord"?class="com.creawor.cbsms.event.EventRecord"??scope="session"?autowire="byName"/>??????????
  • <bean id="eventRecord" class="com.creawor.cbsms.event.EventRecord" scope="session" />

    ?EventRecord 為session范圍可以使字段userName記錄每次登錄人員的姓名

    具體在每次登錄后從spring容器中得到EventRecord然后set其userName即可!

    最后一步要想讓session范圍生效還要在web.xml中添加配置:

    Java代碼
  • <web-app> ??
  • ??... ??
  • ??<listener> ??
  • ????<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> ??
  • ??</listener> ??
  • ??... ??
  • </web-app>??
  • <web-app> ... <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> ... </web-app>

    ?這樣如果想要記錄一個業務bean增刪改的操作只需在EventRecord中設置saveEntitysFireEvent,deleteEntitysFireEvent,updateEntitysFireEvent屬性即可,同樣也可使用配置文件配置,這樣都可以使日志和事件的記錄變得很簡單!

    總結

    以上是生活随笔為你收集整理的根据hibernate拦截器实现可配置日志的记录的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    全久久久久久久久久久电影 | 成年人免费在线观看 | 婷婷中文字幕在线观看 | 亚洲精品理论片 | 九九热中文字幕 | 性色va| 久久夜夜夜 | 国产不卡视频在线 | www.成人久久 | 在线成人高清电影 | 黄色一级大片免费看 | 国产成人精品亚洲精品 | 99性视频| 91九色视频在线观看 | 国产成人精品一区二 | 亚洲国产中文字幕 | 欧美精品亚洲精品日韩精品 | 精品专区 | 夜夜爱av| 97精品国产一二三产区 | 欧美日韩高清不卡 | 天天插夜夜操 | 丁香花中文在线免费观看 | 国产精品原创av片国产免费 | 亚洲精品播放 | 在线观看的黄色 | 国产精品乱码久久久久 | 国产小视频在线看 | av大全在线观看 | 久久久www免费电影网 | 久久久久国产精品厨房 | 久久艹艹| 欧美乱码精品一区二区 | av在线一 | 欧美另类69 | 五月激情综合婷婷 | 偷拍精品一区二区三区 | av成人免费在线看 | 97国产一区| 中文字幕精品www乱入免费视频 | 久热免费在线观看 | 高清不卡免费视频 | 成人va天堂 | 久久精品亚洲一区二区三区观看模式 | jizzjizzjizz亚洲 | av电影亚洲 | 精品久久国产一区 | 色五婷婷 | 97精品电影院 | 九九久久久久99精品 | 91一区二区在线 | 国产精品女人久久久久久 | 国产在线1区 | 精品久久91| 一区二区三区四区五区在线 | 激情av综合 | 91视频在线自拍 | 激情丁香综合五月 | 久草在线免 | 深爱婷婷激情 | 成人av资源 | 亚州黄色一级 | 久草香蕉在线视频 | 天天天色综合a | 亚洲 中文字幕av | 成人精品福利 | 国产手机av在线 | 亚洲小视频在线 | 国产成人综合图片 | bbbb操bbbb| 国产一级片不卡 | 精品不卡视频 | 国产在线欧美在线 | wwwww.国产| av在线永久免费观看 | 网站在线观看日韩 | 天天爱天天舔 | 69av国产 | 亚洲专区欧美 | 久久精品久久久精品美女 | 成人av免费在线 | 四虎成人网 | 特级黄色片免费看 | 涩涩网站在线看 | 激情丁香月 | 综合在线观看 | 日韩美女免费线视频 | 亚洲欧美日韩不卡 | 亚洲最大的av网站 | 丝袜网站在线观看 | 欧美最新大片在线看 | 午夜精品福利在线 | av看片在线 | 日韩网站中文字幕 | 91大神精品视频在线观看 | 激情五月***国产精品 | 亚洲老妇xxxxxx | 毛片网在线| 九九热精品视频在线播放 | 国产一级二级三级视频 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产成年人av | 蜜桃av综合网 | 久久99久国产精品黄毛片入口 | 黄色精品一区二区 | 国产一区二区三区免费视频 | 亚洲精品中文字幕视频 | 国产在线观看xxx | 久久精品99国产精品酒店日本 | 日韩在线不卡 | 国产精品久久久久毛片大屁完整版 | 国产精品一区二区吃奶在线观看 | 激情六月婷婷久久 | 欧美日韩国产一区二区在线观看 | 久久一区91| 九九亚洲视频 | 国产免费a| 在线直播av | 夜夜操夜夜干 | www.日日日.com| 成人免费在线观看av | 亚洲黄色av网址 | 99国产在线 | 狠狠操操 | 在线 国产 亚洲 欧美 | 日韩 精品 一区 国产 麻豆 | www.91成人| wwwww.国产 | 久久精品视频在线播放 | 午夜精品久久久久久久99无限制 | 久久久精品99 | av免费观看高清 | 成年人黄色大片在线 | 免费观看一级成人毛片 | 久久精品免费播放 | 亚洲一区 av | 久操伊人 | 亚洲免费精彩视频 | 五月婷婷精品 | 日韩精品中文字幕有码 | 亚洲黄色激情小说 | 欧美精品乱码99久久影院 | 日韩精品欧美一区 | 97超碰资源 | 激情网在线视频 | 欧美一区二区三区在线播放 | www.夜夜骑.com | 成人av av在线 | av网站手机在线观看 | 免费日韩 精品中文字幕视频在线 | 99视| 超碰伊人网 | 在线观看黄网 | 黄色1级大片 | 日韩三级视频在线观看 | 韩国av不卡| 美女黄视频免费看 | 91在线播放国产 | 国产精彩视频一区 | www色综合 | 97成人精品 | 亚洲毛片在线观看. | www久久久久 | 国产精品嫩草55av | 国产亚洲精品久久久久久 | 天天久久夜夜 | 青青河边草手机免费 | 中文字幕 欧美性 | 久久久99国产精品免费 | 婷婷午夜 | 人人玩人人爽 | 欧美电影黄色 | 一本大道久久精品懂色aⅴ 五月婷社区 | 最新在线你懂的 | 精品电影一区二区 | 国产精品久久久久永久免费 | 国产精品久久久久亚洲影视 | 最新av在线播放 | 99久久精品免费一区 | 午夜少妇av| 天天操综合网 | 国产精品久久久久av免费 | 91传媒在线播放 | 免费看的黄网站软件 | 欧美 日韩 成人 | 久久精彩免费视频 | 免费黄色网止 | 国产色女 | 午夜色大片在线观看 | 久久99精品波多结衣一区 | 日韩在线视频免费观看 | 怡红院久久 | 国产裸体视频bbbbb | 欧美日韩另类在线 | 国产精品99久久久精品免费观看 | 美女网站久久 | 国产污视频在线观看 | 日韩在线一二三区 | 天天射射天天 | 最新国产精品亚洲 | 天天干天天草天天爽 | 欧美一级在线看 | 色婷婷国产精品一区在线观看 | 国产精品美女久久久久久2018 | 久久激情视频网 | 成人av影视在线 | 亚洲精品午夜一区人人爽 | 国产第一页在线播放 | 视频国产精品 | 久久精品99国产精品酒店日本 | 欧美一级大片在线观看 | 成人av免费在线观看 | 久久午夜色播影院免费高清 | 久久蜜臀一区二区三区av | 天天天射 | 久久综合狠狠综合 | 欧美激情视频一区二区三区免费 | 精品一区在线看 | 97超碰人人澡人人爱 | 亚洲国产经典视频 | 国产精品自产拍在线观看桃花 | 在线观看视频黄色 | 欧美日韩国产精品久久 | 综合激情网 | 国产福利一区二区三区视频 | 日本黄色特级片 | av国产网站 | www.com.日本一级 | 久久成人资源 | 精品国产区 | av大全在线 | 天天色天天搞 | 美女黄网站视频免费 | 欧美成人中文字幕 | 日韩中文字幕在线不卡 | 欧美在线视频免费 | 国产aa免费视频 | 91在线看黄 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 成人精品一区二区三区中文字幕 | 成人毛片网 | 久青草视频在线观看 | 亚洲日韩精品欧美一区二区 | 日韩在线免费小视频 | 日韩欧美在线视频一区二区三区 | 97精品国产97久久久久久粉红 | 99视频在线免费播放 | www黄在线 | 黄色三级在线看 | 一级黄色在线免费观看 | 日韩欧美精品在线 | 伊人电影天堂 | 日韩电影在线看 | 国产高清不卡一区二区三区 | 91亚洲夫妻 | 国内揄拍国内精品 | 国产精品久久久久aaaa九色 | 激情网站网址 | 国产特级毛片aaaaaa | 午夜av电影院 | www日韩精品 | 天堂av在线 | 日韩视频一区二区在线观看 | 免费视频区| 人人草人人草 | 日本一区二区三区视频在线播放 | 亚洲黄色片在线 | 日韩视频二区 | 久久久www成人免费毛片麻豆 | 国产精品一区二区麻豆 | 国产在线免费观看 | 国产精品初高中精品久久 | 97成人资源站 | 99精品一区二区 | 欧美男女爱爱视频 | 在线不卡a | 国产又粗又猛又黄又爽的视频 | 中文在线字幕观看电影 | 国外调教视频网站 | 免费精品在线 | 国产午夜一区二区 | 中文字幕视频在线播放 | 欧美一区二区在线免费观看 | 97中文字幕 | 国产婷婷vvvv激情久 | 国产对白av| 国产精品剧情在线亚洲 | 日韩精品一区二区在线观看视频 | 精品国产123 | 亚洲aⅴ在线观看 | 在线视频在线观看 | 丝袜+亚洲+另类+欧美+变态 | av一级久久 | 中文字幕精品三级久久久 | 国产流白浆高潮在线观看 | 日韩av视屏 | 亚洲天堂激情 | 亚洲欧美视频一区二区三区 | 国产 视频 高清 免费 | 在线免费观看国产 | 国产日韩欧美在线观看视频 | 国产精品二区三区 | 国产在线色站 | 国产99一区 | 中文字幕一区二区三区四区久久 | 黄色中文字幕 | 青青河边草观看完整版高清 | 精品一区二区三区香蕉蜜桃 | 国产日韩在线看 | 国产精品黄色 | 中文字幕最新精品 | 17婷婷久久www | 国产剧情在线一区 | 久草在线资源免费 | 99久热在线精品视频成人一区 | 91精品国产麻豆国产自产影视 | 超碰在线公开免费 | 中文av网站 | 亚洲精品 在线视频 | 精品福利片 | 一区二区电影在线观看 | 91av免费看| 四虎4hu永久免费 | 亚洲最大成人网4388xx | 97成人啪啪网 | 亚州精品天堂中文字幕 | 午夜视频在线观看一区 | 97人人射 | 视频福利在线观看 | 久久精品视频2 | 在线播放 亚洲 | 久久特级毛片 | 国产精品久久久久久超碰 | 五月情婷婷 | 99久久精品久久久久久清纯 | 色多多污污 | 999电影免费在线观看 | 午夜精品久久久久久久久久久久 | 国产粉嫩在线 | 国产色综合天天综合网 | 亚洲国产资源 | 欧美巨大 | 91九色视频在线播放 | 播五月综合 | 在线婷婷 | 色网av| 日韩精品专区在线影院重磅 | 日韩欧美国产成人 | 人人爱人人添 | 综合网婷婷 | 日日操狠狠干 | 999久久a精品合区久久久 | 黄色大片网 | 国产91免费在线观看 | 国产精品国产三级国产aⅴ9色 | av免费观看高清 | 久久毛片网 | 久久人视频 | 一区中文字幕 | 最近最新最好看中文视频 | 天天爽人人爽夜夜爽 | 久久另类小说 | 亚洲开心色 | 最新中文字幕在线播放 | 美女黄频网站 | 成人久久 | 免费在线观看日韩 | 国产精品毛片一区二区在线看 | 免费看的毛片 | 久久国产精品免费观看 | 中文字幕第一页在线视频 | 性色av免费在线观看 | 激情综合网色播五月 | 黄色片网站免费 | 国产亚洲一区二区三区 | 九九久久成人 | japanesexxxhd奶水 国产一区二区在线免费观看 | 日本大尺码专区mv | 欧美性生活小视频 | 337p欧美| 久久免费公开视频 | 国产精品va在线播放 | 精品毛片一区二区免费看 | 欧美日韩在线视频观看 | 久久久精品国产一区二区 | 欧美成年网站 | 中文成人字幕 | 在线观看黄网站 | 国产精品网在线观看 | 在线观看中文字幕av | 视频一区二区在线 | 国产精品毛片一区二区在线看 | 黄色网www| 免费精品视频在线 | 天堂网在线视频 | 91精品视频免费在线观看 | 国产精品久久久久9999吃药 | 在线观看中文字幕一区 | 久久久久久久久免费 | 2021国产在线 | 婷婷去俺也去六月色 | 444av| 色综合欧洲| 一区二区三区精品久久久 | 99视频在线精品免费观看2 | av大片免费在线观看 | 婷婷色狠狠 | 国产中文字幕网 | 免费黄在线观看 | 国产美女在线精品免费观看 | 国内精品久久久久影院一蜜桃 | 日韩欧美视频在线 | 久草精品网 | 久久久久免费精品视频 | 日本午夜免费福利视频 | 一区二区三区免费在线观看视频 | 久久手机视频 | 日韩精品一区二区三区中文字幕 | 成人免费观看完整版电影 | 天天干夜夜 | 久久成人午夜视频 | 国产破处精品 | 亚洲日本一区二区在线 | 日本黄色a级大片 | 中文字幕精品一区二区精品 | 三级黄色片子 | 午夜精品一区二区三区免费 | 久久综合九色综合欧美狠狠 | 狠狠色丁香久久婷婷综合丁香 | 国产精品麻| 色婷婷综合久久久 | 天天干,天天射,天天操,天天摸 | 久久亚洲影视 | 涩涩网站在线观看 | 久久九九久久九九 | 亚洲国产成人在线播放 | 久久99国产精品久久99 | 日本黄网站 | 九九九在线观看视频 | 久久久亚洲国产精品麻豆综合天堂 | 美女视频黄频大全免费 | 日本天天色| 国产三级香港三韩国三级 | 婷婷六月天天 | 日韩久久影院 | 日本久久91 | 国产午夜三级一区二区三桃花影视 | 日韩av一区二区三区四区 | jizz18欧美18 | 日韩在线精品视频 | 久久激情小视频 | 黄色91在线观看 | 亚洲精品网站在线 | 国产资源| 黄色在线观看网站 | 国产最新视频在线观看 | 成年人黄色大片在线 | 亚洲欧美日韩在线看 | 96在线 | 国产精品久久久久婷婷二区次 | 欧美另类重口 | 日韩网站在线免费观看 | 黄色大片视频网站 | 麻豆视频免费版 | 青青射| 99久国产| 国产高清视频在线播放 | 国产精品成人久久久久久久 | 日韩av在线资源 | 97精产国品一二三产区在线 | 久久电影色 | 色午夜影院 | 亚洲黄色一级视频 | 超碰97人| 激情视频亚洲 | 黄网站免费大全入口 | 日韩欧美极品 | 手机看片国产 | 色av色av色av | 一区二区久久 | 中文字幕乱码日本亚洲一区二区 | 91精品国产92久久久久 | 91精品视频免费看 | 91精彩在线视频 | 成人免费看电影 | 久久成人在线视频 | 一区三区视频 | 国产精品美女久久久 | 中文字幕一区2区3区 | 国产一级三级 | 99国产在线观看 | 国产又粗又硬又爽视频 | 91成人网页版 | 五月天视频网站 | 免费国产在线视频 | 国产精品一区二区三区在线播放 | 久久99九九99精品 | 夜夜干夜夜 | 成人av午夜 | 国产蜜臀av | 中国美女一级看片 | 亚洲黄色区 | 91九色视频在线播放 | 在线国产精品一区 | 99日精品| 成人免费91 | 天天操天天操一操 | 超碰人人射 | 97视频免费 | 亚洲精品国产成人av在线 | 亚洲不卡av一区二区三区 | 天天色天天操综合 | 在线看片91 | 伊人网综合在线观看 | 美女视频黄免费网站 | 在线精品视频在线观看高清 | 亚洲视频在线视频 | 日韩精品视频在线观看免费 | 香蕉影院在线 | 不卡的一区二区三区 | 9999毛片 | 亚洲精品乱码久久 | 狠狠操操| 亚洲精品tv | 亚洲美女在线国产 | 久草在线视频免费资源观看 | 美女在线观看网站 | 天天综合色天天综合 | 午夜精品久久久久久久99热影院 | 9ⅰ精品久久久久久久久中文字幕 | 色欧美成人精品a∨在线观看 | 国产精品扒开做爽爽的视频 | 天天干人人干 | www.国产在线 | 香蕉影院在线 | 黄a在线看 | 精品一区二区久久久久久久网站 | 黄污在线观看 | 国产精品18毛片一区二区 | av不卡中文 | 久久综合欧美精品亚洲一区 | 欧美小视频在线 | 亚洲综合精品视频 | 中文字幕在线一二 | 日韩欧美一区二区三区在线观看 | 国产成人精品一区二区三区在线观看 | av黄色av | 99亚洲精品在线 | 亚洲精品理论 | 成人免费av电影 | 久久久精品午夜 | 特级毛片在线 | 97成人在线视频 | 日韩欧美视频免费观看 | 国产91小视频 | 国产日本亚洲高清 | 四虎在线永久免费观看 | 五月天天在线 | 国产免费嫩草影院 | 国产1级视频 | 麻豆播放 | 天天爽夜夜爽人人爽曰av | 91麻豆看国产在线紧急地址 | 9免费视频 | 99精品视频在线观看播放 | 成年人精品 | 国产手机精品视频 | 午夜精品久久久久久久久久 | 午夜av一区二区三区 | 国产美女黄网站免费 | 日日干视频 | 久草视频在线免费 | 国内成人精品视频 | 亚洲综合一区二区精品导航 | 一本色道久久综合亚洲二区三区 | 国产一区二区精品久久 | www.五月天婷婷 | 伊人狠狠干| 人人艹人人 | 成年人免费看的视频 | 精品在线一区二区 | 日韩免费视频线观看 | 久久这里 | 亚洲国产中文字幕在线 | 精品成人久久 | 黄色软件在线观看免费 | 久久国产精品一国产精品 | 91精品啪在线观看国产81旧版 | 亚洲国产综合在线 | 五月婷婷影视 | 毛片网在线播放 | 成年人在线| 久久首页 | 91av中文字幕 | 精品综合久久 | 奇米网在线观看 | 久久精品视频中文字幕 | 亚洲精品在线国产 | 亚洲精品视频第一页 | 久久久久久久av | 亚洲天堂免费视频 | 韩国av三级 | 婷婷 中文字幕 | 国产资源在线免费观看 | 免费看久久久 | 国产在线小视频 | 成年人在线观看免费视频 | 国产小视频精品 | 天天曰天天爽 | 国产成人精品久久亚洲高清不卡 | 日本女人逼 | 中文字幕视频一区 | 亚洲91在线 | 婷婷久月 | 中文字幕高清免费日韩视频在线 | 青草视频在线播放 | 91av视频在线播放 | 久久99国产精品自在自在app | 久久成人视屏 | 日韩av在线免费看 | 在线观看免费av片 | 91免费日韩 | 成人精品一区二区三区电影免费 | 日韩在线字幕 | 日本精品一区二区三区在线观看 | 视频一区二区视频 | 激情 亚洲| 色婷婷色 | 香蕉在线影院 | 婷婷丁香九月 | 夜又临在线观看 | 96香蕉视频 | 国产九色在线播放九色 | 日韩成人不卡 | 国产999精品久久久久久麻豆 | 黄色资源在线观看 | 国产小视频在线看 | 97超碰在线久草超碰在线观看 | 麻豆91精品 | 日韩a级黄色 | 成人免费在线观看入口 | av动图| 一区三区在线欧 | 色成人亚洲网 | 国产免费久久 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 在线观看久| 免费三级a | 在线视频 成人 | 国产明星视频三级a三级点| 天天干 天天摸 天天操 | 四虎国产精品成人免费影视 | 国产一区二区三区高清播放 | 亚洲人天堂 | 热99久久精品 | 青草视频在线 | 日本成人黄色片 | 亚洲 成人 欧美 | 国内成人精品2018免费看 | 日韩久久网站 | 欧美日韩免费视频 | 国产精品免费看 | 国产做爰视频 | 少妇高潮流白浆在线观看 | 国产精品精品久久久久久 | 91福利视频一区 | 中文字幕在线观看网站 | 色视频在线免费观看 | 狠狠干美女 | 男女激情免费网站 | 国产美女精彩久久 | 欧美日韩国产精品一区二区亚洲 | 亚洲一区美女视频在线观看免费 | 人人揉人人揉人人揉人人揉97 | 奇米影视8888在线观看大全免费 | 久久精品免费看 | 在线观看免费一级片 | www亚洲视频 | 色吧久久 | 中文字幕成人一区 | 亚洲激情一区二区三区 | 在线亚洲精品 | 成人免费影院 | av片免费播放 | 久久国产网 | 超碰免费久久 | 成年人视频在线观看免费 | 国产精品亚洲片在线播放 | 中文字幕亚洲欧美日韩 | 四虎在线视频免费观看 | 国产高清视频免费最新在线 | 97精品在线 | 久久精品久久精品久久精品 | 99热手机在线观看 | 国内精品久久久久久久久久久久 | 国产一区二区在线播放视频 | 91九色成人蝌蚪首页 | 亚洲一区日韩在线 | 国产精品久久久久久久久久久不卡 | 深夜免费网站 | 激情综合电影网 | 在线黄色观看 | 久视频在线播放 | 色94色欧美 | 在线a亚洲视频播放在线观看 | 国产成人福利片 | 九九九九九九精品任你躁 | 日韩电影在线观看中文字幕 | 国产一级免费观看 | 亚洲国产人午在线一二区 | 中文字幕第一页在线视频 | 99精品国产免费久久久久久下载 | 六月久久婷婷 | 日本激情中文字幕 | 色多多在线观看 | 97视频在线免费观看 | 夜夜高潮夜夜爽国产伦精品 | 成人av亚洲| 91av亚洲 | av资源在线看 | 五月色丁香| 国产精品高清免费在线观看 | 久久久精品日本 | 国产精品久久久 | 久久婷婷色综合 | 国产成人精品综合久久久 | 国产一级免费电影 | 国产成人精品一区二区三区在线 | 日韩精品一区二区三区视频播放 | 中文字幕一区二区三区视频 | 91精品视频导航 | 91一区啪爱嗯打偷拍欧美 | 91在线影视| 色天天天| www.黄色小说.com | 国产一区二区免费看 | 免费中午字幕无吗 | 日本三级久久久 | 国产伦精品一区二区三区无广告 | 国产在线小视频 | 日韩精品视频在线免费观看 | 毛片网站在线看 | 国产精品99精品 | 特级西西444www高清大视频 | 五月天久久狠狠 | 精品一区二区在线免费观看 | 久久这里只有精品视频首页 | 99热精品国产一区二区在线观看 | 欧美色图一区 | 久久伊99综合婷婷久久伊 | 丁香婷婷在线 | 日本视频精品 | 国产高清在线观看 | 久久久精品国产一区二区 | 99久久精品国产网站 | 在线色资源| 国产精品久久久久久电影 | 国产精品成人av电影 | 国产99久久九九精品 | 麻豆播放 | 亚洲精品看片 | 久久99久久99精品免视看婷婷 | 国产精品久久在线观看 | 999久久a精品合区久久久 | 狠狠色丁香婷婷综合久小说久 | 人人插人人爱 | 国产精品福利久久久 | 91丨九色丨国产在线观看 | 久久久在线 | 安徽妇搡bbbb搡bbbb | 日日夜夜精品网站 | 正在播放国产一区二区 | 日日干影院 | 久久综合狠狠狠色97 | 久久成人人人人精品欧 | 国产最新91| 97视频入口免费观看 | www·22com天天操 | 欧美精品中文在线免费观看 | 91在线91拍拍在线91 | 在线观看免费av片 | 日韩av在线看 | 黄色a大片| 日韩av电影一区 | 亚洲天堂首页 | 91桃色国产在线播放 | 97国产在线播放 | 免费黄色小网站 | 97成人在线观看视频 | 激情婷婷久久 | 2024国产在线 | 国产剧情在线一区 | 国产精品白丝av | 国产成人三级一区二区在线观看一 | 亚洲精品乱码久久久久久蜜桃不爽 | 久久免费av电影 | 久久99久国产精品黄毛片入口 | 三级黄色片在线观看 | 高清免费在线视频 | 99夜色 | 97精品超碰一区二区三区 | 日韩欧美视频二区 | 亚洲精品动漫在线 | 三级在线视频观看 | 高清有码中文字幕 | 91完整版| 激情视频在线观看网址 | 91av资源在线 | 麻豆传媒视频在线免费观看 | 国产伦理一区二区三区 | 色就色,综合激情 | 国产一区久久久 | av免费观看在线 | 91九色porny在线 | 色欧美成人精品a∨在线观看 | 久久精品成人热国产成 | 国产专区在线 | 91视频久久| 伊香蕉大综综综合久久啪 | 日韩欧美v | 91在线免费视频 | av在线短片 | 二区视频在线观看 | 精品国产精品一区二区夜夜嗨 | 欧美一级久久久 | 五月婷婷在线观看 | 中文字幕av免费在线观看 | 五月综合激情 | 日本精品一区二区在线观看 | 婷婷精品在线视频 | 黄色三级久久 | 免费在线观看国产精品 | 国产一区二区三区久久久 | 久久爱资源网 | 国产一区二区免费看 | 日本午夜在线亚洲.国产 | 亚洲欧美日韩国产一区二区三区 | 懂色av一区二区在线播放 | 又黄又爽免费视频 | 国产精品www | 日韩视频免费看 | 97精品国产97久久久久久春色 | 7777精品伊人久久久大香线蕉 | av噜噜噜在线播放 | 黄网站色欧美视频 | 亚洲一区二区视频在线 | 天天爽夜夜操 | 日韩视频一区二区三区 | 免费观看一级一片 | 97理论电影 | 日韩激情av在线 | 91丨九色丨高潮 | 天天色综合1| 国产成人精品久久久久蜜臀 | 三级视频国产 | 中文字幕在线免费观看 | 在线观看免费福利 | 国产在线播放一区 | 黄色片视频免费 | 精品视频资源站 | 日韩欧美一区二区三区视频 | 久久久99国产精品免费 | 91精品一区二区三区蜜臀 | 日韩高清在线看 | 日韩午夜高清 | 亚洲免费av一区二区 | 91精品在线免费观看视频 | 国产精品福利久久久 | 成年人免费看片 | 日韩素人在线观看 | 黄色免费av | 日韩av手机在线观看 | 亚洲一区二区视频在线播放 | 在线视频欧美精品 | 欧美日本在线视频 | 免费看黄色大全 | 成人在线免费小视频 | 伊色综合久久之综合久久 | 国产一二三区在线观看 | 在线观看香蕉视频 | 色婷av | 超黄视频网站 | 精品国产aⅴ一区二区三区 在线直播av | 在线看免费 | 免费在线观看av的网站 | 欧美成年网站 | 日韩精品一区在线观看 | 99色在线观看视频 | 精品99视频 | 国产高清成人 | 91在线国内视频 | 97超碰在线久草超碰在线观看 | 成年人三级网站 | 欧美日韩中文字幕视频 | 成人福利在线 | 国产综合在线观看视频 | 在线成人高清电影 | 国产精品18久久久久久久 | 91福利国产在线观看 | 亚洲黄色免费网站 | 亚洲精品免费观看视频 | 黄色三级免费观看 | 在线精品视频免费播放 | 免费日韩一区二区三区 | 中文字幕乱码亚洲精品一区 | 一区二区三区高清不卡 | 国产精品女人久久久久久 | 五月婷婷六月综合 | 97视频亚洲 | 综合色在线| 久久99久久99精品免费看小说 | 国产生活一级片 | 国产日韩精品一区二区在线观看播放 | 探花视频免费观看高清视频 | 日韩网| 一本一道久久a久久综合蜜桃 | 欧美坐爱视频 | 免费在线观看成人 | 探花视频网站 | 亚洲第一av在线播放 | 中日韩三级视频 | 丝袜制服天堂 | 曰韩精品 | 天天色天天综合网 | 国产精品黄色影片导航在线观看 | 操操操日日 | 亚洲在线激情 | 国产精品初高中精品久久 | 黄色在线免费观看网站 | 国产精品无av码在线观看 | 国产女人免费看a级丨片 | 亚洲精品久久久蜜臀下载官网 | 国产精品永久免费 | 99热这里是精品 | 国产小视频网站 | 亚洲视频一| 五月花婷婷 | 在线观看福利网站 | 一区二区精品在线 | 99久久99久久精品免费 | 久久99视频免费观看 | 激情视频一区 | 在线观看免费高清视频大全追剧 | 99九九免费视频 | 嫩嫩影院理论片 | 日韩精品一区二区三区在线视频 | 天天操天天是 | 免费在线观看视频一区 | 偷拍视频一区 | 久久这里精品视频 | 亚洲精品中文字幕在线 | 精品视频久久久久久 | 亚洲视频电影在线 | 一本一本久久a久久精品牛牛影视 | 波多野结衣综合网 | 人人艹视频 | 亚洲日本韩国一区二区 | 韩日电影在线免费看 | 久久精品视频观看 | 人人爽久久久噜噜噜电影 | 有没有在线观看av | 色婷婷福利视频 | 看片黄网站 | 中日韩在线 | 2019免费中文字幕 | 91精品播放| 日韩精品无| 久久高清精品 | 玖玖视频精品 | 麻豆国产网站 | 国产精品视频久久久 | 亚洲一级电影 | 午夜精品久久久久久久99无限制 | 日韩欧美一区二区三区免费观看 | 日韩v在线91成人自拍 | 成人一级在线观看 | 天天射色综合 | 国产精品正在播放 | 九九日九九操 | 国产精品久久99综合免费观看尤物 | 91在线免费视频 | www.亚洲精品在线 | 狠狠的日 | 久草免费看 | 亚洲成人黄色在线观看 | 在线观看视频你懂的 | 91成人观看| 国产在线高清 | 亚洲精品欧洲精品 | 亚洲黄色一级电影 | 日韩中文字幕亚洲一区二区va在线 | 四虎天堂 | 亚洲一区日韩精品 | 国产视频一区二区在线观看 | 中文字幕在线观看视频免费 | 国产小视频国产精品 | 久久久精品 一区二区三区 国产99视频在线观看 | 国产精品第7页 |