java+Spring+mybatis 查询sql报错:无效的序列号!
2015-03-24 16:00
513 查看
java+Spring+mybatis+lucens+达梦数据库。应该能判断和数据库和lucen没关系。
问题:like '%"#{title}"%'
解决方法:like '%'||#{title}||'%' (推荐)或者 like “%"#{title}"%”(不推荐),""是对%的,mybatis会对参数自动加‘
’
现象:
mybatis:
SELECT COUNT(*) FROM "user_task" where "title" like '%"#{title}"%' And "status"=#{status} And "group_id" LIKE '%"#{item}"%'
如下报错
三月 13, 2015 3:17:47 下午 cn.com.people.data.pds.framework.filter.UrlFilter doFilter
信息: ====>URI : /bmcms/admin/column/dm
org.springframework.jdbc.UncategorizedSQLException:
; uncategorized SQLException for SQL []; SQL state [HY093]; error code [6010]; 序列号无效; nested exception is java.sql.SQLException: 序列号无效
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)
at com.sun.proxy.$Proxy16.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:163)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
at com.sun.proxy.$Proxy44.countByGroup(Unknown Source)
at cn.com.people.data.pds.library.controller.ColumnController.countByUserId(ColumnController.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
。。。
。。。
。。。
Caused by: java.sql.SQLException: 序列号无效
at dm.jdbc.dbaccess.DBError.throwSQLException(DBError.java:52)
at dm.jdbc.driver.DmdbPreparedStatement_bs.checkIndexInner(DmdbPreparedStatement_bs.java:145)
at dm.jdbc.driver.DmdbPreparedStatement_bs.paramBindPrepare(DmdbPreparedStatement_bs.java:153)
at dm.jdbc.driver.DmdbPreparedStatement_bs.setInt(DmdbPreparedStatement_bs.java:999)
at dm.jdbc.driver.DmdbPreparedStatement.setInt(DmdbPreparedStatement.java:308)
at org.apache.ibatis.type.IntegerTypeHandler.setNonNullParameter(IntegerTypeHandler.java:28)
at org.apache.ibatis.type.IntegerTypeHandler.setNonNullParameter(IntegerTypeHandler.java:23)
at org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:46)
at org.apache.ibatis.type.UnknownTypeHandler.setNonNullParameter(UnknownTypeHandler.java:42)
at org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:46)
at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:77)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:77)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:58)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:71)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:56)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:259)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:132)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81)
at sun.reflect.GeneratedMethodAccessor71.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:46)
at cn.com.people.data.pds.framework.orm.mybatis.pageable.MyBatisPageableInterceptor.intercept(MyBatisPageableInterceptor.java:104)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:57)
at com.sun.proxy.$Proxy33.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:62)
at sun.reflect.GeneratedMethodAccessor86.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:358)
... 90 more
问题:like '%"#{title}"%'
解决方法:like '%'||#{title}||'%' (推荐)或者 like “%"#{title}"%”(不推荐),""是对%的,mybatis会对参数自动加‘
’
现象:
mybatis:
SELECT COUNT(*) FROM "user_task" where "title" like '%"#{title}"%' And "status"=#{status} And "group_id" LIKE '%"#{item}"%'
如下报错
三月 13, 2015 3:17:47 下午 cn.com.people.data.pds.framework.filter.UrlFilter doFilter
信息: ====>URI : /bmcms/admin/column/dm
org.springframework.jdbc.UncategorizedSQLException:
Error querying database. Cause: java.sql.SQLException: 序列号无效
The error may exist in cn/com/people/data/pds/user/dao/UserTaskMapper.xml
The error may involve cn.com.people.data.pds.user.dao.UserTaskMapper.countByGroup-Inline
The error occurred while setting parameters
SQL: SELECT COUNT(*) FROM "user_task" WHERE "title" like '%"?"%' And "status"=? And ( "group_id" LIKE '%"?"%' OR "group_id" LIKE '%"?"%' OR "group_id" LIKE '%"?"%')
Cause: java.sql.SQLException: 序列号无效
; uncategorized SQLException for SQL []; SQL state [HY093]; error code [6010]; 序列号无效; nested exception is java.sql.SQLException: 序列号无效at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)
at com.sun.proxy.$Proxy16.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:163)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
at com.sun.proxy.$Proxy44.countByGroup(Unknown Source)
at cn.com.people.data.pds.library.controller.ColumnController.countByUserId(ColumnController.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
。。。
。。。
。。。
Caused by: java.sql.SQLException: 序列号无效
at dm.jdbc.dbaccess.DBError.throwSQLException(DBError.java:52)
at dm.jdbc.driver.DmdbPreparedStatement_bs.checkIndexInner(DmdbPreparedStatement_bs.java:145)
at dm.jdbc.driver.DmdbPreparedStatement_bs.paramBindPrepare(DmdbPreparedStatement_bs.java:153)
at dm.jdbc.driver.DmdbPreparedStatement_bs.setInt(DmdbPreparedStatement_bs.java:999)
at dm.jdbc.driver.DmdbPreparedStatement.setInt(DmdbPreparedStatement.java:308)
at org.apache.ibatis.type.IntegerTypeHandler.setNonNullParameter(IntegerTypeHandler.java:28)
at org.apache.ibatis.type.IntegerTypeHandler.setNonNullParameter(IntegerTypeHandler.java:23)
at org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:46)
at org.apache.ibatis.type.UnknownTypeHandler.setNonNullParameter(UnknownTypeHandler.java:42)
at org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:46)
at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:77)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:77)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:58)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:71)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:56)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:259)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:132)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81)
at sun.reflect.GeneratedMethodAccessor71.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:46)
at cn.com.people.data.pds.framework.orm.mybatis.pageable.MyBatisPageableInterceptor.intercept(MyBatisPageableInterceptor.java:104)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:57)
at com.sun.proxy.$Proxy33.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:62)
at sun.reflect.GeneratedMethodAccessor86.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:358)
... 90 more
相关文章推荐
- MyBatis java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
- mybatis报了一个java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
- mybatis 执行查询时报错 【Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: 】
- Cause: java.sql.SQLException: 无效的列类型: 1111(Mybatis中insert插入空值时,需要指定JdbcType)
- Spring+Mybatis实现动态SQL查询
- java mvc spring MyBatis Log4j sql语句
- spring多数据源的处理 mybatis实现跨库查询 实现Myibatis动态sql跨数据库的处理 Spring动态配置多数据源,即在大型应用中对数据进行切分,并且采用多个数据库实例进行管理,这样
- JAVAWEB开发之mybatis详解(二)——高级映射、查询缓存、mybatis与Spring整合以及懒加载的配置和逆向工程
- Spring data jpa + sqlserver + druid, druid连接sqlserver 报错:查询超时值 -1 无效。
- spring+mybatis连接access时java.sql.SQLException: No data found
- java mybatis 中sql 模糊查询
- Mybatis发生异常: Cause: java.sql.SQLException: ORA-00911: 无效字符
- MyBatis的JAVA类中,@Select中的sql根据条件执行不同的查询条件
- mybatis报错:java.sql.SQLException: 无效的列类型: 1111
- Java的MyBatis框架中对数据库进行动态SQL查询的教程
- Spring+MyBatis框架中sql语句的书写,数据集的传递以及多表关联查询
- ibatis中动态查询返回字段返回用resultClass="java.util.HashMap" Java.sql.SQLException: 列名无效的问题
- mybatis向oracle添加数据报:java.sql.SQLException: 无效的列类型: 1111
- mybatis java.sql.SQLException: 无效的列类型
- springMVC mybatis 数据库sql查询有值 但java返回为空