Caused by: net.sf.jsqlparser.parser.ParseException: Encountered " "(" "( "" at

qq_33815905 2016-05-31 03:42:22
Java
开发工具STS
数据库oracle11g
Spring+SpringMVC+MYBATIS 
JDK  1.7u71  32位
我用的mapper,
能返回数据,但是一直报如下的错误

<select id="getTbBasSpsxVoList" parameterType="map"
resultMap="TbBasSpsxResultMapVo">
SELECT TB1.SPSX_KEY, TB1.CODING, TB1.RECKON_CODING,
TB1.SPSX_NAME,
(SELECT TB5.LOOKUP_NAME FROM TB_BAS_LKP TB5 WHERE
TB5.BUSINESS_TYPE='TB_BAS_SPSX.DATA_TYPE' AND TB5.LOOKUP_TYPE =
TB1.DATA_TYPE) AS DATA_TYPE,
(SELECT TB5.LOOKUP_NAME FROM TB_BAS_LKP
TB5 WHERE
TB5.BUSINESS_TYPE='TB_BAS_SPSX.DATA_MODE' AND
TB5.LOOKUP_TYPE = TB1.DATA_MODE) AS DATA_MODE,
TB1.DISPLAY_ORDER,
(SELECT TB5.LOOKUP_NAME
FROM TB_BAS_LKP TB5 WHERE
TB5.BUSINESS_TYPE='TB_BAS_SPSX.CHK_TYPE' AND
TB5.LOOKUP_TYPE = TB1.CHK_TYPE) AS CHK_TYPE,
(SELECT TB5.LOOKUP_NAME
FROM TB_BAS_LKP TB5
WHERE
TB5.BUSINESS_TYPE='TB_BAS_SPSX.IS_NULL' AND
TB5.LOOKUP_TYPE = TB1.IS_NULL) AS IS_NULL,
TB1.MIN_VAL, TB1.MAX_VAL,
TB1.CLUE_INFO,
(SELECT TB5.LOOKUP_NAME FROM TB_BAS_LKP
TB5 WHERE
TB5.BUSINESS_TYPE='TB_BAS_SPSX.IS_CLU_CHL' AND
TB5.LOOKUP_TYPE = TB1.IS_CLU_CHL) AS IS_CLU_CHL,
TB1.PARENT_SPSX_KEY,
(SELECT
TB5.LOOKUP_NAME FROM TB_BAS_LKP TB5 WHERE
TB5.BUSINESS_TYPE='TB_BAS_SPSX.IS_VALID' AND TB5.LOOKUP_TYPE =
TB1.IS_VALID) AS IS_VALID,
TB1.REMARK, TB1.INPUT_UNIT, TB1.INPUT_INFO,
TB1.CHK_PARAM, TB1.ZM, TB1.EN,
TB1.ENSHORT, TB1.XSCJ, TB1.ZMEN,
(SELECT LISTAGG(TB3.WARE_NAME, ', ') WITHIN GROUP (ORDER BY TB3.WARE_KEY) "WARE_NAME" FROM TB_BAS_BED TB3 INNER JOIN TB_BAS_SPSX_TLTN TB2 ON TB2.WARE_KEY = TB3.WARE_KEY WHERE TB1.SPSX_KEY = TB2.SPSX_KEY ) AS WARE_NAME
FROM TB_BAS_SPSX TB1
</select>
上面是我的SQL语句

net.sf.jsqlparser.JSQLParserException
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:51)
at com.github.orderbyhelper.OrderByParser.converToOrderBySql(OrderByParser.java:27)
at com.github.pagehelper.sqlsource.PageStaticSqlSource.getDefaultBoundSql(PageStaticSqlSource.java:44)
at com.github.pagehelper.sqlsource.PageRawSqlSource.getDefaultBoundSql(PageRawSqlSource.java:31)
at com.github.pagehelper.sqlsource.PageSqlSource.getBoundSql(PageSqlSource.java:58)
at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:280)
at com.github.pagehelper.SqlUtil.doProcessPage(SqlUtil.java:571)
at com.github.pagehelper.SqlUtil._processPage(SqlUtil.java:410)
at com.github.pagehelper.SqlUtil.processPage(SqlUtil.java:377)
at com.github.pagehelper.PageHelper.intercept(PageHelper.java:227)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at com.sun.proxy.$Proxy52.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:120)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:113)
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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)
at com.sun.proxy.$Proxy19.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:198)
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:122)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:64)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
at com.sun.proxy.$Proxy31.getTbBasSpsxVoList(Unknown Source)
at com.esteel.service.impl.TbBasSpsxServiceImpl.getTbBasSpsxList(TbBasSpsxServiceImpl.java:82)
at com.alibaba.dubbo.common.bytecode.Wrapper6.invokeMethod(Wrapper6.java)
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108)
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)
at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered " "(" "( "" at line 34, column 3.
Was expecting one of:
    "*" ...
    "*" ...
    
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:10444)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:10303)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectItem(CCJSqlParser.java:1467)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectItemsList(CCJSqlParser.java:1407)
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:1119)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:1045)
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:1033)
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:75)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:55)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:49)
... 53 more


怀疑是我的SQL写的有问题,但是在数据库里能执行,能拿到数据,能正常显示页面,但是就报这个错。

第34行是:
(SELECT LISTAGG(TB3.WARE_NAME, ', ') WITHIN GROUP (ORDER BY TB3.WARE_KEY) "WARE_NAME" FROM TB_BAS_BED TB3 INNER JOIN TB_BAS_SPSX_TLTN TB2 ON TB2.WARE_KEY = TB3.WARE_KEY WHERE TB1.SPSX_KEY = TB2.SPSX_KEY ) AS WARE_NAME
...全文
7237 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39327659 2018-10-31
  • 打赏
  • 举报
回复
双引号引起的问题,把双引号改为单引号就好了,我已经确认了
追风少年201 2017-12-20
  • 打赏
  • 举报
回复
解决了吗????????????????????????
MiceRice 2017-11-20
  • 打赏
  • 举报
回复
感觉是 双引号 引发的血案。。。
qq_39256344 2017-11-09
  • 打赏
  • 举报
回复
解决了吗???亲

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧