You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "liruhui (via GitHub)" <gi...@apache.org> on 2023/04/02 15:55:08 UTC

[GitHub] [shardingsphere] liruhui opened a new issue, #24964: Writing according to official documents still report an error.

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: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org