进行 select a.* from table1 a inner join (select * from table2 where col = 1 ) on a.id = b.ia
这种子查询 的时候 sql 的参数解析会有问题,导致最后一个参数没有被填充
1.20
jx_kpiconfig
LEFT JOIN jx_kpi_config_result
ON jx_kpi_config_result
.configid
= jx_kpiconfig
.id
LEFT JOIN (SELECT * FROM jx_kpi_step
WHERE status
= ? ORDER BY step
ASC LIMIT 1) AS a
ON jx_kpiconfig
.id
= a.configid WHERE jx_kpi_config_result
.userid
= ? AND jx_kpiconfig
.tenantid
= ?; bad SQL grammar []; nested exception is java.sql.SQLException: No value specified for parameter 3
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:101)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:79)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:79)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
at com.sun.proxy.$Proxy88.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:145)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
at com.sun.proxy.$Proxy91.selectCountByQuery(Unknown Source)
at com.mybatisflex.core.BaseMapper.paginate(BaseMapper.java:478)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.apache.ibatis.binding.MapperProxy$DefaultMethodInvoker.invoke(MapperProxy.java:159)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
at com.sun.proxy.$Proxy91.paginate(Unknown Source)
at com.mybatisflex.core.BaseMapper.paginate(BaseMapper.java:413)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.apache.ibatis.binding.MapperProxy$DefaultMethodInvoker.invoke(MapperProxy.java:159)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
at com.sun.proxy.$Proxy91.paginate(Unknown Source)
... 88 common frames omitted
Caused by: java.sql.SQLException: No value specified for parameter 3
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2268)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2248)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2178)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1219)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
at com.mybatisflex.core.mybatis.FlexStatementHandler.lambda$query$2(FlexStatementHandler.java:101)
at com.mybatisflex.core.audit.AuditManager.startAudit(AuditManager.java:96)
at com.mybatisflex.core.mybatis.FlexStatementHandler.query(FlexStatementHandler.java:101)
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:89)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76)
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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
... 104 common frames omitted