liruhui opened a new issue, #24964:
URL: https://github.com/apache/shardingsphere/issues/24964

   ## dependecy
   ```xml
           <dependency>
               <groupId>org.apache.shardingsphere</groupId>
               <artifactId>shardingsphere-jdbc-core</artifactId>
               <version>5.2.1</version>
           </dependency>
   
           <dependency>
               <groupId>org.apache.shardingsphere</groupId>
               
<artifactId>shardingsphere-jdbc-core-spring-namespace</artifactId>
               <version>5.2.1</version>
           </dependency>
   ```
   ## sharding config
   ```xml
     <!--config sharding table algorithm -->
       <sharding:sharding-algorithm id="orderAlgorithm" type="INLINE">
           <props>
               <prop key="algorithm-expression">t_order_${id % 3}</prop>
           </props>
       </sharding:sharding-algorithm>
       <sharding:standard-strategy id="orderSharding" 
algorithm-ref="orderAlgorithm" sharding-column="id"/>
   
   
   
       <!--config key generate algorithm -->
       <sharding:key-generate-algorithm id="idGen" type="SNOWFLAKE"/>
       <sharding:key-generate-strategy id="orderKey" column="id" 
algorithm-ref="idGen"/>
   
   
   
       <!--config sharding database algorithm -->
       <sharding:sharding-algorithm id="mod" type="MOD">
           <props>
               <prop key="sharding-count">2</prop>
           </props>
       </sharding:sharding-algorithm>
       <sharding:standard-strategy id="myMod" algorithm-ref="mod"/>
   
   
   
       <sharding:rule id="ruleConfig">
           <sharding:table-rules>
               <sharding:table-rule logic-table="t_order"
                                    
actual-data-nodes="ds_order_${[0,1]}.t_order_${0..2}"
                                    database-strategy-ref="myMod"
                                    key-generate-strategy-ref="orderKey"
                                    table-strategy-ref="orderSharding"/>
           </sharding:table-rules>
       </sharding:rule>
   
       <shardingsphere:data-source id="shardingDataSource"
                                   database-name="xyz"
                                   data-source-names="ds_order_0,ds_order_1"
                                   rule-refs="ruleConfig">
           <props>
               <prop key="show-sql">true</prop>
           </props>
   
       </shardingsphere:data-source>
   ```
   ## Mapper
   ```java
   public interface OrderMapper {
       //Id auto generate  not need  setting 
       @Insert("insert into t_order(user_id) values(#{userId})")
       public void add(Order order);
   }
   
   ```
   
   
   ## error Info 
   ```java
   ### Cause: java.sql.SQLException: Unknown exception: null
   ; uncategorized SQLException; SQL state [HY000]; error code [30000]; Unknown 
exception: null; nested exception is java.sql.SQLException: Unknown exception: 
null
        java.sql.SQLException: Unknown exception: null
                at 
org.apache.shardingsphere.infra.util.exception.external.sql.ShardingSphereSQLException.toSQLException(ShardingSphereSQLException.java:54)
                at 
org.apache.shardingsphere.dialect.SQLExceptionTransformEngine.toSQLException(SQLExceptionTransformEngine.java:62)
                at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.execute(ShardingSpherePreparedStatement.java:409)
                at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)
                at 
org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
                at 
org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
                at 
org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
                at 
org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
                at 
org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
                at 
org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:566)
                at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
                at com.sun.proxy.$Proxy20.insert(Unknown Source)
                at 
org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
                at 
org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
                at 
org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
                at 
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)
                at com.sun.proxy.$Proxy33.add(Unknown Source)
                at 
com.shangma.cn.controller.DemoController.testOrder(DemoController.java:63)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:566)
                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.doGet(FrameworkServlet.java:898)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
                at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
                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:53)
                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:96)
                at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
                at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
                at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
                at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
                at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
                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.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
                at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
                at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.base/java.lang.Thread.run(Thread.java:834)
   ```
   
   


-- 
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.

To unsubscribe, e-mail: 
[email protected]

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

Reply via email to