PageHelper+mybatis+阿里云,count(0)报错
渺万里层云 2017-03-02 06:01:09 最近用了springboot+mybatis+阿里云,分页用了插件PageHelper,但出现一个问题
PageHelper.startPage((int pageNum, int pageSize) {
return startPage(pageNum, pageSize, true);
}
代码里设置:PageHelper.startPage(page.getPageNum(), page.getPageSize());
page.getPageNum()初始值=1,page.getPageSize()初始值=10。
执行如下查询:
orderList = cyOrderInfoService.queryCyOrderInfoList(cyOrder);
错误:SELECT count(0) FROM (SELECT DISTINCT info.order_id orderId, info.user_id userId FROM newcyerp_cy_order_info info WHERE info.order_id = ?) table_count
改成count(1)就没问题:SELECT count(0) FROM (SELECT DISTINCT info.order_id orderId, info.user_id userId FROM newcyerp_cy_order_info info WHERE info.order_id = ?) table_count
这可可能哪里出了问题呢?
报错console输出:
DEBUG [2017-03-02 17:47:02,470][][192.168.29.57] org.apache.ibatis.logging.jdbc.BaseJdbcLogger:145 - ==> Preparing: SELECT count(0) FROM (SELECT DISTINCT info.order_id orderId, info.user_id userId FROM newcyerp_cy_order_info info WHERE info.order_id = ?) table_count
DEBUG [2017-03-02 17:47:02,471][][192.168.29.57] org.apache.ibatis.logging.jdbc.BaseJdbcLogger:145 - ==> Parameters: 160105099907520(String)
INFO [2017-03-02 17:47:02,519][][192.168.29.57] com.xebest.web.controller.base.GlobalExceptionHandler:51 - 运行异常:
org.springframework.jdbc.UncategorizedSQLException:
### Error querying database. Cause: java.sql.SQLException: Query error: [USER ERROR] Unsupported query syntax.. Error stack: Invalid aggregate typeCOUNT(0)com.taobao.garuda.network.exception.QueryException: Invalid aggregate typeCOUNT(0)
at com.taobao.garuda.localnode.base.net.Server$2.handleQuery(Server.java:100)
at com.taobao.garuda.network.service.LNService$2.handleLocalQueryEvent(LNService.java:42)
at com.taobao.garuda.network.local.TaskHandler$SplitEventListener.handleEvent(TaskHandler.java:122)
at com.taobao.garuda.network.local.TaskHandler$SplitEventListener.handleEvent(TaskHandler.java:114)
at com.taobao.garuda.network.eventbus.SimpleEventBus$1.run(SimpleEventBus.java:43)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:756)
### The error may exist in file [D:\workspace\xe-report\target\classes\mybatis\CyOrder-mapper.xml]
### The error may involve com.xebest.web.mapper.CyOrderInfoMapper.queryCyOrderInfoList-Inline
### The error occurred while setting parameters
### SQL: SELECT count(0) FROM (SELECT DISTINCT info.order_id orderId, info.user_id userId FROM newcyerp_cy_order_info info WHERE info.order_id = ?) table_count
### Cause: java.sql.SQLException: Query error: [USER ERROR] Unsupported query syntax.. Error stack: Invalid aggregate typeCOUNT(0)com.taobao.garuda.network.exception.QueryException: Invalid aggregate typeCOUNT(0)
at com.taobao.garuda.localnode.base.net.Server$2.handleQuery(Server.java:100)
at com.taobao.garuda.network.service.LNService$2.handleLocalQueryEvent(LNService.java:42)
at com.taobao.garuda.network.local.TaskHandler$SplitEventListener.handleEvent(TaskHandler.java:122)
at com.taobao.garuda.network.local.TaskHandler$SplitEventListener.handleEvent(TaskHandler.java:114)
at com.taobao.garuda.network.eventbus.SimpleEventBus$1.run(SimpleEventBus.java:43)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:756)
; uncategorized SQLException for SQL []; SQL state [HY000]; error code [20009]; Query error: [USER ERROR] Unsupported query syntax.. Error stack: Invalid aggregate typeCOUNT(0)com.taobao.garuda.network.exception.QueryException: Invalid aggregate typeCOUNT(0)
at com.taobao.garuda.localnode.base.net.Server$2.handleQuery(Server.java:100)
at com.taobao.garuda.network.service.LNService$2.handleLocalQueryEvent(LNService.java:42)
at com.taobao.garuda.network.local.TaskHandler$SplitEventListener.handleEvent(TaskHandler.java:122)
at com.taobao.garuda.network.local.TaskHandler$SplitEventListener.handleEvent(TaskHandler.java:114)
at com.taobao.garuda.network.eventbus.SimpleEventBus$1.run(SimpleEventBus.java:43)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:756)
; nested exception is java.sql.SQLException: Query error: [USER ERROR] Unsupported query syntax.. Error stack: Invalid aggregate typeCOUNT(0)com.taobao.garuda.network.exception.QueryException: Invalid aggregate typeCOUNT(0)