带有多个查询的jdbcTemplate查询 - spring boot

时间:2018-04-23 18:21:07

标签: java mysql spring-boot jdbctemplate

当我执行以下查询时,其工作正常

jdbcTemplate.query("select * from foo Limit 50");

但是当我想尝试执行以下查询时,它甚至在mysql中成功运行时给出了语法错误

jdbcTemplate.query("select SQL_CALC_FOUND_ROWS * from foo Limit 10; SELECT FOUND_ROWS()");

任何更新?

1 个答案:

答案 0 :(得分:1)

您无法对模板中的单个查询执行执行两个查询。它(正确地)期望单个执行其相应的方法将执行单个查询,因此返回单个结果。关键点是;字符。我认为这是语法错误的原因,正是因为你想要做的事情。

有两种方法可以解决这个问题:

  • 执行2个不同的查询,一个用于限制,一个用于总计数
  • 实现一个存储过程,该过程将为您提供两个结果,而这次只需一个查询即可获取它们

如果您选择第一种方法并且想要同步,则可以查看此link