mybatis-plus怎么分页查询
时间: 2023-11-17 21:48:12 浏览: 148
mybatis-plus分页查询的实现示例
使用mybatis-plus实现分页查询有两种方式。
方式一:在service层使用QueryWrapper进行查询
```java
public IPage<SettleAgentAccount> findAgentAccount(SettleAgentAccountBO settleAgentAccountBO) {
BasePage<SettleAgentAccount> page = this.lambdaQuery()
.like(ObjectUtil.isNotEmpty(settleAgentAccountBO.getAgentName()), SettleAgentAccount::getAgentName, settleAgentAccountBO.getAgentName())
.like(ObjectUtil.isNotEmpty(settleAgentAccountBO.getAgentMobile()), SettleAgentAccount::getAgentMobile, settleAgentAccountBO.getAgentMobile())
.eq(ObjectUtil.isNotEmpty(settleAgentAccountBO.getAgentLevel()), SettleAgentAccount::getAgentLevel, settleAgentAccountBO.getAgentLevel())
.between(ObjectUtil.isNotEmpty(settleAgentAccountBO.getStartTime()) && ObjectUtil.isNotEmpty(settleAgentAccountBO.getEndTime()), SettleAgentAccount::getPayTime, settleAgentAccountBO.getStartTime(), settleAgentAccountBO.getEndTime())
.page(settleAgentAccountBO.parse());
return page;
}
```
方式二:自己编写mapper文件实现分页查询
```xml
<!-- 在xml文件中编写自定义的分页查询sql语句 -->
<select id="findAgentAccount" resultType="SettleAgentAccount">
SELECT * FROM settle_agent_account
WHERE agent_name LIKE CONCAT('%', #{agentName}, '%')
AND agent_mobile LIKE CONCAT('%', #{agentMobile}, '%')
AND agent_level = #{agentLevel}
AND pay_time BETWEEN #{startTime} AND #{endTime}
LIMIT #{offset}, #{pageSize}
</select>
```
注意:以上代码中的变量名和表名需要根据实际情况进行修改。
以上就是使用mybatis-plus进行分页查询的两种常用方式。方式一是在service层使用QueryWrapper进行查询,方式二是自己编写mapper文件实现分页查询。根据具体的项目需求和个人喜好,可以选择适合自己的方式来进行分页查询操作。
阅读全文