成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

解決springboot的JPA在Mysql8新增記錄失敗的問題

瀏覽:110日期:2023-03-05 18:54:07
springboot的JPA在Mysql8新增記錄失敗

springboot版本是1.3.0.M1,連接的mysql版本為8,用spring-boot-starter-data-jpa操作數據庫,新增記錄時應用拋出以下異常:

2018-02-21 12:52:59.471 DEBUG 6408 --- [nio-9090-exec-1] o.s.web.servlet.DispatcherServlet: Could not complete requestorg.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statementat org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:310)at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:221)at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:417)at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:121)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)at com.sun.proxy.$Proxy74.save(Unknown Source)at com.business.backend.dao.impl.BaseStockDaoImpl.save(BaseStockDaoImpl.java:24)at com.business.backend.controller.BaseStockController.savePost(BaseStockController.java:78)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:111)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:799)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:728)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)Caused by: org.hibernate.exception.GenericJDBCException: could not execute statementat org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211)at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:96)at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:58)at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3032)at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3558)at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:98)at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:492)at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:197)at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:181)at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:216)at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:334)at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:289)at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:195)at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)at org.hibernate.jpa.event.internal.core.JpaPersistEventListener.saveWithGeneratedId(JpaPersistEventListener.java:84)at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:206)at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:149)at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:75)at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:811)at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:784)at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:789)at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1181)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:344)at com.sun.proxy.$Proxy64.persist(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:291)at com.sun.proxy.$Proxy64.persist(Unknown Source)at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:439)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:452)at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:437)at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:409)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:61)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)... 54 common frames omittedCaused by: java.sql.SQLException: Could not retrieve transation read-only status serverat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:937)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:872)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:904)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:894)at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3613)at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3582)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2111)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2081)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2066)at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)... 103 common frames omittedCaused by: java.sql.SQLException: Unknown system variable ’tx_read_only’at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2531)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2489)at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3607)... 108 common frames omitted

這一句是關鍵信息:Unknown system variable ‘tx_read_only’,應該是mysql-connector-java的jar包的版本和數據庫不匹配導致的;

當前的springboot項目是個maven工程,打開pom.xml文件看一下mysql-connector-java庫的依賴:

<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>

如上所示,pom.xml中沒有指定mysql-connector-java庫的版本,我們只能用mvn命令查看默認版本是多少了,在pom.xml所在目錄下執行以下命令,查看所有jar包的版本信息:

mvn dependency:tree

在輸出的信息中看到了mysql-connector-java的版本是5.1.35,如下:

[INFO] +- mysql:mysql-connector-java:jar:5.1.35:compile

5.1.35版本偏高了,我們還是在pom.xml中指定一個低版本吧,修改mysql-connector-java庫的依賴配置如下:

<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.15</version></dependency>

如果您用的IDE是IntelliJ IDEA,修改上面的配置可能不會立即生效,請在pom.xml文件上點右鍵,選'Maven'->“Reimport”,如下圖:

解決springboot的JPA在Mysql8新增記錄失敗的問題

再次啟動springboot應用并新增記錄到mysql,這次一切順利了。

spring data jpa + mysql 上踩過的坑

最近在做一個小項目,技術上用的是springboot+jpa(Java Persistence API)

spring data jpa讓我們解脫了DAO層的操作,基本上所有CRUD都可以依賴于它來實現,他是實現了orm思想的一套框架。

(1)先讓實體類和數據庫表對應,再讓實體類屬性和表里面字段對應

@Entity@Table(name = 't_user')public class User { @Id @GeneratedValue private Long id; private String nickname; private String username; private String password; getter and setter...}

(2)不需要直接操作數據庫表,直接操作表對應的實體類對象

public interface UserRepository extends JpaRepository<User,Long> { User findByUsernameAndPassword(String username, String password);}好了,問題就出在這第一步里的實體類屬性和表里面字段對應

注意這個注解 @GeneratedValue ,他共有四種取值:(strategy = ***)

AUTO主鍵由程序控制, 是默認選項 ,不設置就是這個 IDENTITY 主鍵由數據庫生成, 采用數據庫自增長, Oracle不支持這種方式 SEQUENCE 通過數據庫的序列產生主鍵, MYSQL 不支持 Table 提供特定的數據庫產生主鍵, 該方式更有利于數據庫的移植

以下是我今天解決問題過程中的一些想法,不一定對,僅供參考

在對應主鍵字段的屬性上要是只標注了@GeneratedValue那就意味著把主鍵的生成策略交給了springboot,它將自動的判斷你所使用的數據庫,若是Mysql則設置成IDENTITY,Oracle則設置成SEQUENCE。

但我今天是用jpa自動生成的數據庫

解決springboot的JPA在Mysql8新增記錄失敗的問題

最上面舉的實體類的例子也正是我編寫實體類采用的注解方式,下面是我定義的實體類一共五個。

解決springboot的JPA在Mysql8新增記錄失敗的問題

由于其中兩個類之間的關系是多對多,所以按道理最終生成的表應該是六張,也就是五張實體類對應表和一張中間表。但實際情況確實這樣的:

解決springboot的JPA在Mysql8新增記錄失敗的問題

沒錯,他多了一張表!多了一張貌似相當于Oracle中的序列表(我也不太懂Oracle…就是覺得長的像)這張表只有一個字段,并且其他幾張表的主鍵自增長都沒有打開

解決springboot的JPA在Mysql8新增記錄失敗的問題

解決springboot的JPA在Mysql8新增記錄失敗的問題

就是指定了你下一個自動生成的主鍵的值,關鍵是所有表共用這個序列表,舉個例子:

A表插入一條數據后自動生成的id=10,接下來你取B表插入一條數據,他生成的id就一定會接下去(=11)

如果你先在數據庫中手動創建幾條數據,讓id的值超過序列表中的值

解決springboot的JPA在Mysql8新增記錄失敗的問題

然后在項目系統中使用增加數據功能時就會…

Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry ‘13’ for key ‘PRIMARY’

破壞了完整性約束,在這里也就是說表中出現了重復的主鍵id=13,然后我不干任何事,在系統中再次執行我的添加功能:

Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry ‘14’ for key ‘PRIMARY’

那個序列表就會自增1然后再添加,發現id=14又已經存在了。相信大家已經看懂這序列表的機制了吧,就是說只要我在系統中在執行一次添加功能,這條數據就能夠被加進數據庫里了。

這樣也太麻煩了吧,解決它其實很簡單,只要在實體類中手動指定主鍵的生成策略,并且將表中對應主鍵字段的 自動遞增打開 就行了,springboot就會放棄那張序列表而按照你指定的方式去生成主鍵了:

@Entity@Table(name = 't_user')public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String nickname; private String username; private String password;

解決springboot的JPA在Mysql8新增記錄失敗的問題

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
精品美女一区二区三区| 亚洲精品中文字幕在线| 中文亚洲欧美| 久久久五月婷婷| 国产成人在线免费观看| 678五月天丁香亚洲综合网| 卡一卡二国产精品| 在线视频你懂得一区| 欧美a一区二区| 色偷偷久久人人79超碰人人澡| 国产精品美女久久久久久久网站| 欧美一区国产在线| 国产夜色精品一区二区av| www.亚洲激情.com| 久久久三级国产网站| 女人色偷偷aa久久天堂| 国产欧美日韩久久| 国产在线一区二区三区四区| 中文av字幕一区| 激情欧美亚洲| 亚洲精品久久久蜜桃| 国产精品全国免费观看高清 | 久久机这里只有精品| 欧美主播一区二区三区美女| 热久久国产精品| 欧美性感一类影片在线播放| 男人的天堂久久精品| 欧美日韩另类一区| 国产成人aaa| 久久久久久久久久久久久女国产乱 | 亚洲精品老司机| 国产精品综合| 日精品一区二区三区| 欧美日韩一区二区三区视频| 国产麻豆一精品一av一免费 | 日韩欧美一级二级三级| 91丨九色丨黑人外教| 中文字幕中文字幕在线一区 | 一区二区不卡在线视频 午夜欧美不卡在| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲精品免费视频| 色婷婷精品久久二区二区蜜臂av | 欧美一区午夜精品| 91免费视频大全| 中文字幕日本不卡| 免费中文字幕日韩欧美| 激情久久五月天| 久久久精品国产免大香伊| 亚洲精品在线免费| 日韩国产欧美三级| 欧美一级日韩免费不卡| 欧美午夜电影在线观看| 亚洲国产视频一区| 国产日产亚洲精品系列| 国产.欧美.日韩| 国产成人综合视频| 国产欧美日韩三区| 午夜一级久久| 国产精品一区二区免费不卡| 国产亚洲精品aa| 久久精品99| 粉嫩蜜臀av国产精品网站| 国产精品免费视频观看| 91久久人澡人人添人人爽欧美| 国产尤物一区二区在线| 国产日韩欧美一区二区三区乱码| 国产精品美女黄网| 国产精品1区2区3区在线观看| 国产精品国产成人国产三级| 在线观看亚洲成人| 91视频国产观看| 精品久久久久av影院| jizz一区二区| 国产一区二区三区精品视频| 精品午夜久久福利影院| 欧美精品一区二区三区高清aⅴ| 国产精品久久777777毛茸茸| 91丨porny丨户外露出| 国内成人免费视频| 日本欧美在线看| 伊人成年综合电影网| 亚洲第一激情av| 日韩一级完整毛片| 一区二区三区导航| 国产成人av一区二区| 一区二区高清视频在线观看| 欧美丰满高潮xxxx喷水动漫| 亚洲清纯自拍| 国产91对白在线观看九色| 中文字幕亚洲综合久久菠萝蜜| 欧美大片国产精品| 欧美酷刑日本凌虐凌虐| 亚洲理伦在线| 成人国产精品免费观看动漫 | 91麻豆精品国产自产在线观看一区 | 久久亚洲综合| 91免费版在线看| 亚洲资源中文字幕| 在线欧美日韩国产| 欧美激情一区| 亚洲国产精品久久艾草纯爱| 国产伦精品一区二区三区视频孕妇| 亚洲精品久久久久久国产精华液| 欧美日韩另类国产亚洲欧美一级| 色噜噜狠狠色综合欧洲selulu| 久久精品99| 欧美在线观看一区| 精品成人免费观看| 国产日韩欧美精品在线| 国产亚洲精品aa午夜观看| 日韩中文字幕91| 欧美国产一区二区在线观看| 欧美日韩在线播放一区| 99热这里只有成人精品国产| 成人激情黄色小说| 亚洲成人av一区二区| 日本一区二区综合亚洲| 91麻豆精品国产91久久久久| 午夜在线视频一区二区区别| 欧美区亚洲区| 国产xxx精品视频大全| 日韩精品一二三四| 亚洲欧洲美洲综合色网| 精品欧美乱码久久久久久 | 国产人成亚洲第一网站在线播放| 欧美日韩高清一区二区三区| 久久婷婷影院| 亚洲精品国产精品国自产观看| 国产宾馆实践打屁股91| 秋霞成人午夜伦在线观看| 亚洲精品日日夜夜| 国产精品精品国产色婷婷| 欧美不卡一区二区| 欧美久久久久久蜜桃| 久久婷婷激情| 中文精品一区二区三区| 亚洲大黄网站| 欧美激情综合色综合啪啪| 成人激情黄色小说| 国产一本一道久久香蕉| 麻豆精品在线播放| 日韩av不卡一区二区| 亚洲欧美电影一区二区| 中文字幕 久热精品 视频在线 | 在线国产电影不卡| 亚洲欧美日产图| 99精品视频免费| 伊人久久婷婷色综合98网| 91亚洲精品一区二区乱码| 国内不卡的二区三区中文字幕| 欧美aaaaa成人免费观看视频| 亚洲国产精品久久久久婷婷884| 综合电影一区二区三区| 国产精品理论片在线观看| 国产视频不卡一区| 久久精品一区二区三区av| 久久尤物电影视频在线观看| 日韩一区二区三区免费看| 91精品国模一区二区三区| 欧美精品久久99久久在免费线| 欧美在线观看视频一区二区 | eeuss影院一区二区三区| 成人黄色国产精品网站大全在线免费观看 | 9191成人精品久久| 日本欧美加勒比视频| 91热门视频在线观看| 欧美日韩精品伦理作品在线免费观看| av成人免费观看| 欧美α欧美αv大片| 国精品**一区二区三区在线蜜桃| 成人小视频在线观看| 99这里都是精品| 一区二区三区福利| 欧美三级中文字| 国产一区二区三区四区五区入口| 蜜臀久久99精品久久久久宅男 | 欧美一区二区三区四区在线观看地址| 国产盗摄视频一区二区三区| 国产老肥熟一区二区三区| 国产乱子伦视频一区二区三区| 国产成人在线视频网站| 成人黄色小视频| 99国产一区二区三精品乱码| 色综合天天做天天爱| 欧美日韩精品免费观看视一区二区 | 日韩av电影免费观看高清完整版在线观看| 亚洲v精品v日韩v欧美v专区| 日韩1区2区3区| 国产一区激情在线| 懂色中文一区二区在线播放| 99久久er热在这里只有精品15| 欧美激情精品久久久六区热门| 亚洲性感激情| 国产精品视频免费一区| 玖玖在线精品| 欧美精品日韩一本| 欧美成人a视频| 中文字幕久久午夜不卡| 亚洲综合一区二区精品导航| 日本女优在线视频一区二区|