手写mapper的sql自动拼接limit怎么取消
时间: 2024-09-30 21:11:54 浏览: 31
MyBatis直接执行SQL的工具SqlMapper
手写MyBatis Mapper中的SQL如果需要禁用自动添加LIMIT分页,可以在Mapper XML文件或者编写SQL语句时明确指定。有两种常见做法:
1. **不使用动态SQL标签**:如果你直接在Mapper接口方法的`selectList()`、`selectOne()`等方法中编写静态的SQL语句,可以省略`limit`关键字,例如:
```xml
<select id="listUsers" resultType="User">
SELECT * FROM users
</select>
```
2. **使用if/else块**:如果你想在某些条件下控制是否应用分页,可以使用`<if>`标签:
```xml
<select id="listUsers" resultType="User">
<if test="should Paginate">SELECT * FROM users LIMIT #{offset}, #{pageSize}</if>
<else>SELECT * FROM users</else>
</select>
```
这样,你可以通过传入`should Paginate`标志来决定是否应用分页。
阅读全文