mybatis rownum
时间: 2023-06-23 11:47:21 浏览: 68
在 MyBatis 中,可以使用 ROWNUM 来限制查询结果集的行数。ROWNUM 是 Oracle 数据库特有的伪列,它的值在查询时是动态计算的,表示当前行的序号。通过将 ROWNUM 与 SELECT 语句结合使用,可以实现查询结果集的分页功能。
在 MyBatis 中,可以使用 <if> 标签和 <where> 标签来动态生成 SQL 语句,来实现分页查询。具体实现方法如下:
```xml
<select id="findByPage" resultMap="userResultMap">
SELECT *
FROM (
SELECT ROW_.*, ROWNUM ROWNUM_
FROM (
SELECT *
FROM user
<where>
<if test="name != null">
AND name LIKE #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
) ROW_
WHERE ROWNUM <= #{end}
) WHERE ROWNUM_ >= #{start}
</select>
```
其中,#{start} 和 #{end} 是 MyBatis 参数化查询的占位符,用于表示查询结果集的起始行和结束行。通过动态生成 SQL 语句,可以实现分页查询的功能。