MyBatis重用查询以获取计数(*)

时间:2016-01-03 13:15:00

标签: sql count duplicates mybatis code-reuse

我的XML文件中定义了一个很大的搜索查询

<select id="searchItems" resultMap="myMap" parameterType="map">
SELECT
  a lot of field
FROM multiple table with few joins
WHERE with few conditions
LIMIT x,y
</select>

上面的查询使用limit来返回分页结果并避免在搜索中返回整个项目。但是对于一个要求,我还需要返回查询找到的项目总数。

我的问题是:我如何重用上面的查询而只选择count(*),显然没有LIMIT?有没有办法将每个查询部分分开并在<select>标记中重复使用?

1 个答案:

答案 0 :(得分:6)

你可以提取常见的sql并重用如下:

<div id='div'></div>