sharing-jdbc ParameterList 数组越界

发布于 2021-12-05 08:58:34 字数 5669 浏览 848 评论 1

### SQL: SELECT   t.TRANS_ID as transNo,   t.CUST_NAME as   paymengtName,   t.TRANS_AMOUNT as payAmount,   t.TRANS_TIME as payDate,   PAYTYPE as   payType,   PAYTYPE as payChannel,   t.TERMIN_IDENTIFY as terminalId,   t.OPERATOR_NO as operator,   t.TRANS_STATUS as payStatus,   t.OPERATOR_NAME as operatorName,   t.CNAME as plotName,   RECORD_COMPANY_NAME as   companyName,   t.PHONE as mobel,   t.trans_status as transStatus,   t.TRANS_TYPE as chargeType,   t.CHARGE_MARK as chargeMark   FROM   BS_TRANS_JOURNALS t   JOIN BS_TRANSPAY_JOURNALS p on p.TRANS_ID =   t.TRANS_ID    WHERE t.CID = ?                     and t.OPERATOR_NAME like CONCAT('%',     ?, '%')                     AND t.TRANS_STATUS IN     (      ?     )                     AND STR_TO_DATE(t.TRANS_TIME, '%Y%m%d') >=     STR_TO_DATE(?,     '%Y%m%d')             AND STR_TO_DATE(t.TRANS_TIME, '%Y%m%d') <     STR_TO_DATE(?,     '%Y%m%d')             AND p.PAYTYPE IN     (      ?     )             AND p.PAYTYPE IN     (      ?     )    order by t.TRANS_TIME desc   LIMIT ?,?
### Cause: java.lang.IndexOutOfBoundsException: Index: 7, Size: 2
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
    at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:434)
    ... 52 common frames omitted
Caused by: java.lang.IndexOutOfBoundsException: Index: 7, Size: 2
    at java.util.ArrayList.rangeCheck(ArrayList.java:635)
    at java.util.ArrayList.get(ArrayList.java:411)
    at com.dangdang.ddframe.rdb.sharding.jdbc.util.ParameterList.set(ParameterList.java:89)
    at com.dangdang.ddframe.rdb.sharding.parser.result.merger.Limit.replaceParameters(Limit.java:71)
    at com.dangdang.ddframe.rdb.sharding.router.SQLRouteEngine.routeSQL(SQLRouteEngine.java:105)
    at com.dangdang.ddframe.rdb.sharding.router.PreparedSQLRouter.route(PreparedSQLRouter.java:66)
    at com.dangdang.ddframe.rdb.sharding.jdbc.ShardingPreparedStatement.routeSQL(ShardingPreparedStatement.java:163)
    at com.dangdang.ddframe.rdb.sharding.jdbc.ShardingPreparedStatement.execute(ShardingPreparedStatement.java:112)
    at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:63)
    at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
    at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)
    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 org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
    at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
    at com.icip.framework.page.pagehelper.SqlUtil._processPage(SqlUtil.java:352)
    at com.icip.framework.page.pagehelper.SqlUtil.processPage(SqlUtil.java:330)
    at com.icip.framework.page.pagehelper.PageHelper.intercept(PageHelper.java:152)
    at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
    at com.sun.proxy.$Proxy120.query(Unknown Source)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
    ... 57 common frames omitted

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

檐上三寸雪 2021-12-05 10:19:27

这个是解析的bug,应该是没有解析括号里面的问号。感谢使用和反馈。

将于1.5.0稳定版中修复

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文