Hilary0511 opened a new issue #7085:
URL: https://github.com/apache/shardingsphere/issues/7085


   ## Question
   Mybatis SQL
   
![image](https://user-images.githubusercontent.com/33475609/91295782-2a77e080-e7ce-11ea-8370-64347057d4c7.png)
   
   The XML configuration
   
![image](https://user-images.githubusercontent.com/33475609/91295878-51361700-e7ce-11ea-847b-c971c4a98658.png)
   
        <sharding:standard-strategy id="orderTableStrategy" 
sharding-column="order_id" algorithm-ref="inlineOrderTableStrategyAlgorithm" />
        <sharding:sharding-algorithm id="inlineOrderTableStrategyAlgorithm" 
type="INLINE">
           <props>
               <prop key="algorithm.expression">t_order$->{order_id % 2}</prop>
           </props>
       </sharding:sharding-algorithm>
        <sharding:key-generate-strategy id="orderKeyGenerator" 
column="order_id" algorithm-ref="snowflakeAlgorithm" />
        <sharding:rule id="shardingRule">
                <sharding:table-rules>
                        
                        <sharding:table-rule logic-table="T_ORDER" 
actual-data-nodes="ds.T_ORDER$->{0..1}" table-strategy-ref="orderTableStrategy" 
key-generate-strategy-ref="orderKeyGenerator" />
                </sharding:table-rules>
        </sharding:rule>
        <shardingsphere:data-source id="shardingDataSource" 
data-source-names="ds" rule-refs="shardingRule">
                <props>
               <prop key="sql.show">true</prop>
           </props>
        </shardingsphere:data-source>
   
   The query error
   
![image](https://user-images.githubusercontent.com/33475609/91296124-b0942700-e7ce-11ea-86d8-4d1d261c368e.png)
   
   请求的URL【/framework-demo/test/user/getListOrder】,errorMsg==nested exception is 
org.apache.ibatis.executor.ExecutorException: Error preparing statement.  
Cause: org.apache.shardingsphere.sql.parser.exception.SQLParsingException: 
Unsupported SQL of `select *
                from T_ORDER` locateCode=8439592356328952463
   org.mybatis.spring.MyBatisSystemException: nested exception is 
org.apache.ibatis.executor.ExecutorException: Error preparing statement.  
Cause: org.apache.shardingsphere.sql.parser.exception.SQLParsingException: 
Unsupported SQL of `select *
                from T_ORDER`
        at 
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
        at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
        at com.sun.proxy.$Proxy72.selectList(Unknown Source)
        at 
org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
        at 
com.hhwy.fweb.data.mybatis.support.MybatisDaoSupport.get(MybatisDaoSupport.java:61)
        at 
com.hhwy.fweb.demo.user.service.impl.UserServiceImpl.getListOrder(UserServiceImpl.java:164)
        at 
com.hhwy.fweb.demo.user.controller.UserController.getListOrder(UserController.java:158)
        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:189)
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
        at 
com.hhwy.fweb.framework.mvc.MainDispather.doService(MainDispather.java:99)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        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:52)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at 
com.hhwy.fweb.framework.mvc.filter.LandFilter.doFilter(LandFilter.java:43)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at 
com.hhwy.fweb.framework.mvc.filter.CommonFilter.doFilter(CommonFilter.java:52)
        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:123)
        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:199)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
        at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
        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: org.apache.ibatis.executor.ExecutorException: Error preparing 
statement.  Cause: 
org.apache.shardingsphere.sql.parser.exception.SQLParsingException: Unsupported 
SQL of `select *
                from T_ORDER`
        at 
org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:97)
        at 
org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
        at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
        at 
com.hhwy.fweb.data.mybatis.support.FwebPaginationInterceptor.intercept(FwebPaginationInterceptor.java:156)
        at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
        at com.sun.proxy.$Proxy81.prepare(Unknown Source)
        at 
org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86)
        at 
org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
        at 
org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
        at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
        at 
org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
        at 
org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
        at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
        at 
com.hhwy.fweb.data.mybatis.support.FwebOffsetLimitInterceptor.intercept(FwebOffsetLimitInterceptor.java:74)
        at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
        at com.sun.proxy.$Proxy80.query(Unknown Source)
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
        at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source)
        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:433)
        ... 54 more
   Caused by: 
org.apache.shardingsphere.sql.parser.exception.SQLParsingException: Unsupported 
SQL of `select *
                from T_ORDER`
        at 
org.apache.shardingsphere.rdl.parser.engine.executor.RDLSQLParserExecutor.execute(RDLSQLParserExecutor.java:55)
        at 
org.apache.shardingsphere.rdl.parser.engine.engine.RDLSQLParserEngine.parse0(RDLSQLParserEngine.java:70)
        at 
org.apache.shardingsphere.rdl.parser.engine.engine.RDLSQLParserEngine.parse(RDLSQLParserEngine.java:52)
        at 
org.apache.shardingsphere.rdl.parser.engine.ShardingSphereSQLParserEngine.parse(ShardingSphereSQLParserEngine.java:47)
        at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.<init>(ShardingSpherePreparedStatement.java:137)
        at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.<init>(ShardingSpherePreparedStatement.java:111)
        at 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection.prepareStatement(ShardingSphereConnection.java:78)
        at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55)
        at com.sun.proxy.$Proxy82.prepareStatement(Unknown Source)
        at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:86)
        at 
org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
        ... 81 more
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to