主要報錯日誌:
### SQL: insert into gfs_manage_user (manage_user_account_name, manage_user_del_flag) values (?, ?, ) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.31]
### Cause: io.shardingjdbc.core.parsing.parser.exception.SQLParsingException: SQL syntax error, expected token is 'RIGHT_PAREN', actual token is 'END', literals is ''.
從日誌看sql報錯是 期望的是有括號,實際的是結束。在查找mybatis xml中sql語句時如下所示:
懷疑是上述黃色框內多了一個逗號,嘗試着去除逗號,重新執行,成功!
修改後如下:
總結:
shardingJDBC解析slq語句時,需要插入數據字段與實際傳入字段值數量一直,其會根據逗號分割進行匹配。