当我执行以下查询时,它工作正常
jdbcTemplate.query("select * from foo Limit 50");
但是当我想执行下面的查询时,即使在mysql中成功运行,也会出现语法错误
jdbcTemplate.query("select SQL_CALC_FOUND_ROWS * from foo Limit 10; SELECT FOUND_ROWS()");
有新消息吗?
当我执行以下查询时,它工作正常
jdbcTemplate.query("select * from foo Limit 50");
但是当我想执行下面的查询时,即使在mysql中成功运行,也会出现语法错误
jdbcTemplate.query("select SQL_CALC_FOUND_ROWS * from foo Limit 10; SELECT FOUND_ROWS()");
有新消息吗?
1条答案
按热度按时间tpxzln5u1#
不能对模板中的一个查询执行执行两个查询。它期望(正确地)对其相应方法的单个执行将执行单个查询,并因此返回单个结果。关键是
;
性格。我相信这就是语法错误的原因,正是因为你所做的。有两种方法可以解决这个问题:
执行两个不同的查询,一个用于限制,另一个用于总计数
实现一个存储过程,它将为您提供两个结果,这次您只需一个查询就可以得到它们
如果您选择第一种方法并希望同步,则可以选中此链接。