当前使用版本(必填,否则不予处理)
3.5.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
Sybase自定义sql分页错误,拼接into #t时,错误地插到语句的子查询中。
重现步骤(如果有就写完整)
建表sql
CREATE TABLE GJJ.dbo.E_PRODUNITLICENSE (
PROLICENSEID varchar(32) NOT NULL,
PRIPID varchar(36) NULL,
ENTNAME varchar(200) NULL,
UNISCID varchar(18) NULL,
CERLICID varchar(50) NULL,
LICID varchar(50) NULL,
CERITEMCODE varchar(2) NULL,
CERITEM varchar(64) NULL,
REGNO varchar(15) NULL,
CERADDR varchar(512) NULL,
DOM varchar(512) NULL,
CERTYPE varchar(32) NULL,
CERNO varchar(100) NULL,
APPRAITYPECODE varchar(1) NULL,
APPRAITYPE varchar(32) NULL,
APPTYPECODE varchar(1) NULL,
APPTYPE varchar(32) NULL,
ISSUAUTH varchar(256) NULL,
VALTO date NULL,
CHANDATE date NULL,
ISSUDATE date NULL,
REMARK varchar(200) NULL,
S_EXT_FROMNODE varchar(6) NULL,
S_EXT_DATATIME date NULL,
CONSTRAINT E_PRODUNITLICENSE_PK PRIMARY KEY (PROLICENSEID)
);
CREATE UNIQUE INDEX PK_E_PRODUNITLICENSE ON GJJ.dbo.E_PRODUNITLICENSE (PROLICENSEID);
CREATE INDEX idx_E_PRODUNITLICENSE_PRIPID ON GJJ.dbo.E_PRODUNITLICENSE (PRIPID);
CREATE INDEX idx_E_PRODUNITLICENSE_S_EXT_DATATIME ON GJJ.dbo.E_PRODUNITLICENSE (S_EXT_DATATIME);
CREATE TABLE GJJ.dbo.E_APPROCATE (
APPROCATEID varchar(32) NOT NULL,
PRIPID varchar(36) NULL,
ORGNAME varchar(200) NULL,
LICID varchar(50) NULL,
CERLICID varchar(50) NULL,
UNISCID varchar(18) NULL,
CERITEM varchar(64) NULL,
ORGADDR varchar(512) NULL,
CERNO varchar(100) NULL,
CERITEMCODE varchar(1) NULL,
CERTYPE varchar(32) NULL,
ISSUAUTH varchar(256) NULL,
ISSUDATE date NULL,
VALTO date NULL,
DOM varchar(512) NULL,
APPTYPECODE varchar(1) NULL,
APPTYPE varchar(32) NULL,
APPRAITYPECODE varchar(1) NULL,
APPRAITYPE varchar(32) NULL,
APPRAUTH varchar(256) NULL,
CHANDATE date NULL,
REMARK varchar(200) NULL,
S_EXT_FROMNODE varchar(6) NULL,
S_EXT_DATATIME date NULL,
CONSTRAINT E_APPROCATE_PK PRIMARY KEY (APPROCATEID)
);
CREATE UNIQUE INDEX PK_E_APPROCATE ON GJJ.dbo.E_APPROCATE (APPROCATEID);
CREATE INDEX idx_E_APPROCATE_PRIPID ON GJJ.dbo.E_APPROCATE (PRIPID);
CREATE INDEX idx_E_APPROCATE_S_EXT_DATATIME ON GJJ.dbo.E_APPROCATE (S_EXT_DATATIME);
CREATE TABLE GJJ.dbo.E_FILLINGPERMIT (
FILLINGPERMITID varchar(32) NOT NULL,
PRIPID varchar(36) NULL,
ENTNAME varchar(200) NULL,
UNISCID varchar(18) NULL,
LICID varchar(50) NULL,
REGNO varchar(15) NULL,
CERLICID varchar(50) NULL,
CERADDR varchar(512) NULL,
CERNO varchar(100) NULL,
CERTYPE varchar(32) NULL,
CERITEMCODE varchar(1) NULL,
CERITEM varchar(64) NULL,
APPRAITYPECODE varchar(1) NULL,
APPRAITYPE varchar(32) NULL,
APPTYPECODE varchar(1) NULL,
APPTYPE varchar(32) NULL,
ISSUAUTH varchar(256) NULL,
ISSUDATE date NULL,
VALTO date NULL,
CHANDATE date NULL,
REMARK varchar(200) NULL,
S_EXT_FROMNODE varchar(6) NULL,
S_EXT_DATATIME date NULL,
CONSTRAINT E_FILLINGPERMIT_PK PRIMARY KEY (FILLINGPERMITID)
);
CREATE UNIQUE INDEX PK_E_FILLINGPERMIT ON GJJ.dbo.E_FILLINGPERMIT (FILLINGPERMITID);
CREATE INDEX idx_E_FILLINGPERMIT_PRIPID ON GJJ.dbo.E_FILLINGPERMIT (PRIPID);
CREATE INDEX idx_E_FILLINGPERMIT_S_EXT_DATATIME ON GJJ.dbo.E_FILLINGPERMIT (S_EXT_DATATIME);
CREATE TABLE GJJ.dbo.E_FOODPRODU (
FOODPRODUID varchar(32) NOT NULL,
PRIPID varchar(36) NULL,
LICID varchar(50) NULL,
ENTNAME varchar(200) NULL,
UNISCID varchar(18) NULL,
CERLICID varchar(50) NULL,
FOODPROLICNO varchar(16) NULL,
REGNO varchar(15) NULL,
FOODCATE varchar(8) NULL,
FOODCATE_CN varchar(100) NULL,
ISSUAUTH varchar(256) NULL,
ISSUDATE date NULL,
VALTO date NULL,
LICSTA varchar(3) NULL,
LICCANDATE date NULL,
SDFOODFACATE varchar(8) NULL,
SDFOODFACATE_CN varchar(100) NULL,
SDFOODCATE varchar(8) NULL,
SDFOODCATE_CN varchar(100) NULL,
SDSPECIDETAIL varchar(100) NULL,
SDPRODREMARK varchar(1000) NULL,
S_EXT_FROMNODE varchar(6) NULL,
S_EXT_DATATIME date NULL,
CONSTRAINT E_FOODPRODU_PK PRIMARY KEY (FOODPRODUID)
);
CREATE UNIQUE INDEX PK_E_FOODPRODU ON GJJ.dbo.E_FOODPRODU (FOODPRODUID);
CREATE INDEX idx_E_FOODPRODU_PRIPID ON GJJ.dbo.E_FOODPRODU (PRIPID);
CREATE INDEX idx_E_FOODPRODU_S_EXT_DATATIME ON GJJ.dbo.E_FOODPRODU (S_EXT_DATATIME);
CREATE TABLE GJJ.dbo.E_PUB_SPOTCHECK (
INSID varchar(50) NOT NULL,
PRIPID varchar(36) NULL,
INSAUTH varchar(100) NULL,
INSAUTH_CN varchar(128) NULL,
INSTYPE varchar(64) NULL,
INSDATE date NULL,
INSRES varchar(128) NULL,
INSRES_CN varchar(4000) NULL,
S_EXT_FROMNODE varchar(6) NULL,
S_EXT_DATATIME date NULL,
CONSTRAINT E_PUB_SPOTCHECK_PK PRIMARY KEY (INSID)
);
CREATE INDEX E_PUB_SPOTCHECK_PRIPID_IDX ON GJJ.dbo.E_PUB_SPOTCHECK (PRIPID);
CREATE UNIQUE INDEX PK_E_PUB_SPOTCHECK ON GJJ.dbo.E_PUB_SPOTCHECK (INSID);
CREATE TABLE GJJ.dbo.E_BASEINFO (
PRIPID varchar(36) NOT NULL,
UNISCID varchar(18) NULL,
ENTNAME varchar(100) NULL,
REGNO varchar(50) NULL,
ENTTYPE varchar(4) NULL,
ENTTYPE_CN varchar(128) NULL,
INDUSTRYPHY varchar(64) NULL,
INDUSTRYCO varchar(64) NULL,
ESTDATE date NULL,
REGORG varchar(64) NULL,
REGORG_CN varchar(128) NULL,
OPSCOTYPE varchar(128) NULL,
OPSCOTYPE_CN varchar(128) NULL,
OPSCOPE varchar(3000) NULL,
OPFROM date NULL,
OPTO date NULL,
REGSTATE varchar(64) NULL,
REGSTATE_CN varchar(128) NULL,
DOMDISTRICT varchar(64) NULL,
DOM varchar(512) NULL,
REGCAP numeric(24,6) NULL,
REGCAPCUR varchar(64) NULL,
REGCAPCUR_CN varchar(128) NULL,
REGCAPUSD numeric(18,6) NULL,
RECCAP numeric(18,6) NULL,
RECCAPUSD numeric(18,6) NULL,
COUNTRY varchar(128) NULL,
EMPNUM numeric(10,0) NULL,
TOWN varchar(64) NULL,
NAME varchar(200) NULL,
REPORTTYPE varchar(64) NULL,
APPRDATE date NULL,
S_EXT_FROMNODE varchar(6) NULL,
S_EXT_DATATIME date NULL,
CONSTRAINT E_BASEINFO_PK PRIMARY KEY (PRIPID)
);
CREATE UNIQUE INDEX PK_E_BASEINFO ON GJJ.dbo.E_BASEINFO (PRIPID);
查询语句
select eb.PRIPID, eb.ENTNAME, eb.UNISCID, eb.REGNO, eb.REGORG, eb.REGORG_CN, pub.INSRES remark, pub.INSDATE noticeDate
,(
case when exists(select 1 from E_PRODUNITLICENSE as ep where ep.PRIPID = eb.PRIPID) then '1'
when exists(select 1 from E_APPROCATE as ea where ea.PRIPID = eb.PRIPID) then '1'
when exists(select 1 from E_FILLINGPERMIT as ef where ef.PRIPID = eb.PRIPID) then '1'
else '0' end
) isSpec,
(case when exists(select 1 from E_FOODPRODU efo where efo.PRIPID = eb.PRIPID) then '1' else '0' end) isFoodProd
from E_PUB_SPOTCHECK pub left join E_BASEINFO eb on pub.PRIPID = eb.PRIPID
where
eb.REGSTATE not in ('2','36')
and(
exists(select 1 from E_PRODUNITLICENSE as ep where ep.PRIPID = eb.PRIPID)
or exists(select 1 from E_APPROCATE as ea where ea.PRIPID = eb.PRIPID)
or exists(select 1 from E_FILLINGPERMIT as ef where ef.PRIPID = eb.PRIPID)
or exists(select 1 from E_FOODPRODU efo where efo.PRIPID = eb.PRIPID)
)
order by pub.INSDATE desc
mapper接口方法定义语句
IPage<KeyAreasVO> getSpecCheckPage(IPage<KeyAreasVO> page);
报错信息
16:03:16.933 4bbb26e9d7064e9b95167e69d7c14327 DEBUG BaseJdbcLogger.java137 - ==> Preparing: SELECT COUNT(*) AS total FROM E_PUB_SPOTCHECK pub LEFT JOIN E_BASEINFO eb ON pub.PRIPID = eb.PRIPID WHERE eb.REGSTATE NOT IN ('2', '36') AND (EXISTS (SELECT 1 FROM E_PRODUNITLICENSE AS ep WHERE ep.PRIPID = eb.PRIPID) OR EXISTS (SELECT 1 FROM E_APPROCATE AS ea WHERE ea.PRIPID = eb.PRIPID) OR EXISTS (SELECT 1 FROM E_FILLINGPERMIT AS ef WHERE ef.PRIPID = eb.PRIPID) OR EXISTS (SELECT 1 FROM E_FOODPRODU efo WHERE efo.PRIPID = eb.PRIPID))
16:03:16.979 4bbb26e9d7064e9b95167e69d7c14327 DEBUG BaseJdbcLogger.java137 - ==> Parameters:
16:03:27.854 4bbb26e9d7064e9b95167e69d7c14327 DEBUG BaseJdbcLogger.java137 - <== Total: 1
16:03:27.860 4bbb26e9d7064e9b95167e69d7c14327 DEBUG BaseJdbcLogger.java137 - ==> Preparing: select rownum=identity(12), eb.PRIPID, eb.ENTNAME, eb.UNISCID, eb.REGNO, eb.REGORG, eb.REGORG_CN, pub.INSRES remark, pub.INSDATE noticeDate ,( case when exists(select 1 into #t from E_PRODUNITLICENSE as ep where ep.PRIPID = eb.PRIPID) then '1' when exists(select 1 from E_APPROCATE as ea where ea.PRIPID = eb.PRIPID) then '1' when exists(select 1 from E_FILLINGPERMIT as ef where ef.PRIPID = eb.PRIPID) then '1' else '0' end ) isSpec, (case when exists(select 1 from E_FOODPRODU efo where efo.PRIPID = eb.PRIPID) then '1' else '0' end) isFoodProd from E_PUB_SPOTCHECK pub left join E_BASEINFO eb on pub.PRIPID = eb.PRIPID where eb.REGSTATE not in ('2','36') and( exists(select 1 from E_PRODUNITLICENSE as ep where ep.PRIPID = eb.PRIPID) or exists(select 1 from E_APPROCATE as ea where ea.PRIPID = eb.PRIPID) or exists(select 1 from E_FILLINGPERMIT as ef where ef.PRIPID = eb.PRIPID) or exists(select 1 from E_FOODPRODU efo where efo.PRIPID = eb.PRIPID) ) order by pub.INSDATE desc select * from #t where rownum > ? and rownum <= ? drop table #t
16:03:27.959 4bbb26e9d7064e9b95167e69d7c14327 DEBUG BaseJdbcLogger.java137 - ==> Parameters: 0(Long), 10(Long)
16:03:28.256 4bbb26e9d7064e9b95167e69d7c14327 ERROR ExceptionHandlerAdvice.java126 - 数据库读写异常
org.springframework.jdbc.UncategorizedSQLException:
### Error querying database. Cause: java.sql.SQLException: Incorrect syntax near the keyword 'into'.
### The error may exist in file [D:\cygwin\home\81487\development\idea-workspace\gsxt\gsxt_gd\target\classes\mybatis\mapper\ent\EBaseinfoMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select rownum=identity(12), eb.PRIPID, eb.ENTNAME, eb.UNISCID, eb.REGNO, eb.REGORG, eb.REGORG_CN, pub.INSRES remark, pub.INSDATE noticeDate ,( case when exists(select 1 into #t from E_PRODUNITLICENSE as ep where ep.PRIPID = eb.PRIPID) then '1' when exists(select 1 from E_APPROCATE as ea where ea.PRIPID = eb.PRIPID) then '1' when exists(select 1 from E_FILLINGPERMIT as ef where ef.PRIPID = eb.PRIPID) then '1' else '0' end ) isSpec, (case when exists(select 1 from E_FOODPRODU efo where efo.PRIPID = eb.PRIPID) then '1' else '0' end) isFoodProd from E_PUB_SPOTCHECK pub left join E_BASEINFO eb on pub.PRIPID = eb.PRIPID where eb.REGSTATE not in ('2','36') and( exists(select 1 from E_PRODUNITLICENSE as ep where ep.PRIPID = eb.PRIPID) or exists(select 1 from E_APPROCATE as ea where ea.PRIPID = eb.PRIPID) or exists(select 1 from E_FILLINGPERMIT as ef where ef.PRIPID = eb.PRIPID) or exists(select 1 from E_FOODPRODU efo where efo.PRIPID = eb.PRIPID) ) order by pub.INSDATE desc select * from #t where rownum > ? and rownum <= ? drop table #t
### Cause: java.sql.SQLException: Incorrect syntax near the keyword 'into'.
; uncategorized SQLException; SQL state [ZZZZZ]; error code [156]; Incorrect syntax near the keyword 'into'.
; nested exception is java.sql.SQLException: Incorrect syntax near the keyword 'into'.
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
at com.sun.proxy.$Proxy105.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:121)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:85)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
at com.sun.proxy.$Proxy141.getSpecCheckPage(Unknown Source)
at com.chinaweal.gsxt.service.ent.impl.EBaseinfoServiceImpl.getSpecCheckPage(EBaseinfoServiceImpl.java:49)
at com.chinaweal.gsxt.service.ent.impl.EBaseinfoServiceImpl$$FastClassBySpringCGLIB$$fd4be8e8.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687)
at com.chinaweal.gsxt.service.ent.impl.EBaseinfoServiceImpl$$EnhancerBySpringCGLIB$$73709c8d.getSpecCheckPage(<generated>)
at com.chinaweal.gsxt.service.ent.impl.EBaseinfoServiceImpl$$FastClassBySpringCGLIB$$fd4be8e8.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687)
at com.chinaweal.gsxt.service.ent.impl.EBaseinfoServiceImpl$$EnhancerBySpringCGLIB$$743e7c1b.getSpecCheckPage(<generated>)
at com.chinaweal.gsxt.controller.ent.KeyAreasController.getSpecCheckPage(KeyAreasController.java:86)
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:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.chinaweal.gsxt.filter.xss.XssFilter.doFilter(XssFilter.java:21)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.chinaweal.youfool.framework.springboot.filter.RestLogFilter.doFilter(RestLogFilter.java:101)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.chinaweal.youfool.framework.springboot.filter.RepeatlyReadFilter.doFilter(RepeatlyReadFilter.java:28)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: Incorrect syntax near the keyword 'into'.
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.executeLoop(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.execute(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.execute(Unknown Source)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
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.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
at com.sun.proxy.$Proxy272.execute(Unknown Source)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
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.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)
at com.sun.proxy.$Proxy270.query(Unknown Source)
at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:60)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
at com.sun.proxy.$Proxy269.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
... 93 common frames omitted
16:03:28.259 4bbb26e9d7064e9b95167e69d7c14327 DEBUG RestLogServiceImpl.java101 - End. TimeSpend: 11554ms Code: 500
Comment From: miemieYaho
欢迎pr
Comment From: xiaokaizeng
是否把 sybase 数据库分页方言改为嵌套查询就可以了? Path: mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/SybaseDialect.java
String sql = "select";
if (hasTop) {
sql += " top " + (offset + limit);
}
sql += " rownum=identity(12),t.* from ( " + originalSql " ) t into #t ";
sql += " select * from #t where rownum > ? and rownum <= ? ";
sql += "drop table #t ";
return new DialectModel(sql, offset, offset + limit).setConsumerChain();
Comment From: qmdx
使用最新 3.5.3 版本