org.springframework.jdbc.UncategorizedSQLException
总的来说,还是oracle的sql写的不对。习惯mysql的时候对关键字加 ` ,所以操作oracle会报错。其次,oracle的时间函数是SYSDATE,不是NOW().Exception in thread "Thread-120" org.springframework.jdbc.UncategorizedSQLException:### Error updating database.Ca
·
syntax error: syntax error 总的来说,还是oracle的sql写的不对,有sql注入错误。
习惯mysql的时候对关键字加 ` ,所以操作oracle会报错。把TYPE左右两端的 ` 去掉就好了。
- 其次,oracle的时间函数是SYSDATE,不是NOW().
- 还有,就是数据库中的时间类型,跟类里面的时间类型不一致,会报错:Mybatis java.lang.IllegalArgumentException: uncategorized SQLException for SQL []; SQL state [null]
Exception in thread "Thread-120" org.springframework.jdbc.UncategorizedSQLException:
### Error updating database. Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'`TYPE`,REQUEST_PARAMS,RESPONSE_PARA',expect RPAREN, actual IDENTIFIER pos 100, line 1, column 100, token IDENTIFIER ` : INSERT INTO CRD_DATA_LIST_LOG (ID,CREATE_TIME,USERNAME,TOTAL_COUNT,FAIL_COUNT,OPERATION_TYPE, `TYPE`,REQUEST_PARAMS,RESPONSE_PARAMS,ERRLOG,FLAG)
VALUES( ?,SYSDATE,?,?,?,?,
?,?,?,?,?)
### SQL: INSERT INTO CRD_DATA_LIST_LOG (ID,CREATE_TIME,USERNAME,TOTAL_COUNT,FAIL_COUNT,OPERATION_TYPE, `TYPE`,REQUEST_PARAMS,RESPONSE_PARAMS,ERRLOG,FLAG) VALUES( ?,SYSDATE,?,?,?,?, ?,?,?,?,?)
### Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'`TYPE`,REQUEST_PARAMS,RESPONSE_PARA',expect RPAREN, actual IDENTIFIER pos 100, line 1, column 100, token IDENTIFIER ` : INSERT INTO CRD_DATA_LIST_LOG (ID,CREATE_TIME,USERNAME,TOTAL_COUNT,FAIL_COUNT,OPERATION_TYPE, `TYPE`,REQUEST_PARAMS,RESPONSE_PARAMS,ERRLOG,FLAG)
VALUES( ?,SYSDATE,?,?,?,?,
?,?,?,?,?)
; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; sql injection violation, syntax error: syntax error, error in :'`TYPE`,REQUEST_PARAMS,RESPONSE_PARA',expect RPAREN, actual IDENTIFIER pos 100, line 1, column 100, token IDENTIFIER ` : INSERT INTO CRD_DATA_LIST_LOG (ID,CREATE_TIME,USERNAME,TOTAL_COUNT,FAIL_COUNT,OPERATION_TYPE, `TYPE`,REQUEST_PARAMS,RESPONSE_PARAMS,ERRLOG,FLAG)
VALUES( ?,SYSDATE,?,?,?,?,
?,?,?,?,?); nested exception is java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'`TYPE`,REQUEST_PARAMS,RESPONSE_PARA',expect RPAREN, actual IDENTIFIER pos 100, line 1, column 100, token IDENTIFIER ` : INSERT INTO CRD_DATA_LIST_LOG (ID,CREATE_TIME,USERNAME,TOTAL_COUNT,FAIL_COUNT,OPERATION_TYPE, `TYPE`,REQUEST_PARAMS,RESPONSE_PARAMS,ERRLOG,FLAG)
VALUES( ?,SYSDATE,?,?,?,?,
?,?,?,?,?)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy76.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:278)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:57)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy174.saveInOracle(Unknown Source)
at com.engine.common.base.service.impl.BaseServiceImpl.save(BaseServiceImpl.java:90)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy175.save(Unknown Source)
at com.engine.modules.list.controller.WhiteAndGreyController.lambda$record$0(WhiteAndGreyController.java:630)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'`TYPE`,REQUEST_PARAMS,RESPONSE_PARA',expect RPAREN, actual IDENTIFIER pos 100, line 1, column 100, token IDENTIFIER ` : INSERT INTO CRD_DATA_LIST_LOG (ID,CREATE_TIME,USERNAME,TOTAL_COUNT,FAIL_COUNT,OPERATION_TYPE, `TYPE`,REQUEST_PARAMS,RESPONSE_PARAMS,ERRLOG,FLAG)
VALUES( ?,SYSDATE,?,?,?,?,
?,?,?,?,?)
at com.alibaba.druid.wall.WallFilter.check(WallFilter.java:725)
at com.alibaba.druid.wall.WallFilter.connection_prepareStatement(WallFilter.java:253)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:473)
at com.alibaba.druid.filter.FilterAdapter.connection_prepareStatement(FilterAdapter.java:929)
at com.alibaba.druid.filter.FilterEventAdapter.connection_prepareStatement(FilterEventAdapter.java:122)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:473)
at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.prepareStatement(ConnectionProxyImpl.java:342)
at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:350)
at sun.reflect.GeneratedMethodAccessor213.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55)
at com.sun.proxy.$Proxy146.prepareStatement(Unknown Source)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:87)
at org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:85)
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49)
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.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.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
at com.sun.proxy.$Proxy240.update(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185)
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:433)
... 21 more
Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'`TYPE`,REQUEST_PARAMS,RESPONSE_PARA',expect RPAREN, actual IDENTIFIER pos 100, line 1, column 100, token IDENTIFIER `
at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:280)
at com.alibaba.druid.sql.parser.SQLParser.accept(SQLParser.java:288)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseInsert0(SQLStatementParser.java:1641)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseInsert0(SQLStatementParser.java:1612)
at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parseInsert(OracleStatementParser.java:1707)
at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parseStatementList(OracleStatementParser.java:115)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:93)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:89)
at com.alibaba.druid.wall.WallProvider.checkInternal(WallProvider.java:620)
at com.alibaba.druid.wall.WallProvider.check(WallProvider.java:574)
at com.alibaba.druid.wall.WallFilter.check(WallFilter.java:712)
at com.alibaba.druid.wall.WallFilter.connection_prepareStatement(WallFilter.java:253)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:473)
at com.alibaba.druid.filter.FilterAdapter.connection_prepareStatement(FilterAdapter.java:929)
at com.alibaba.druid.filter.FilterEventAdapter.connection_prepareStatement(FilterEventAdapter.java:122)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:473)
at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.prepareStatement(ConnectionProxyImpl.java:342)
at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:350)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
... 45 more
- 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
答:字段不对应 etity <>sql_table

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)