mybatis和mybatis-plus实现分页查询套路总结

本文详细介绍了在Mybatis和Mybatis-Plus中实现分页查询的方法,包括Mybatis中的SQL动态分页以及Mybatis-Plus的抽离分页实体类和自定义排序。通过Controller、Service和Mapper的代码示例,展示了如何在实际项目中使用这两种框架进行分页操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis和mybatis-plus实现分页查询套路总结

一.mybatis分页查询

controller

/**
 * 分类分页查询
 * @param categoryPageQueryDTO
 * @return
 */
@GetMapping("/page")
@ApiOperation("分类分页查询")
public Result<PageResult> page(CategoryPageQueryDTO categoryPageQueryDTO){
   
   
    log.info("分页查询:{}", categoryPageQueryDTO);
    PageResult pageResult = categoryService.pageQuery(categoryPageQueryDTO);
    return Result.success(pageResult);
}

service

/**
 * 分页查询
 * @param categoryPageQueryDTO
 * @return
 */
PageResult pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);

impl(泛型自行替换即可)

/**
 * 分页查询
 * @param categoryPageQueryDTO
 * @return
 */
public PageResult pageQuery(CategoryPageQueryDTO categoryPageQueryDTO) {
   
   
    PageHelper.startPage(categoryPageQueryDTO.getPage(),categoryPageQueryDTO.getPageSize());
    //下一条sql进行分页,自动加入limit关键字分页
    Page<Category> page = categoryMapper.pageQuery(categoryPageQueryDTO);
    return new PageResult(page.getTotal(), page.getResult());
}

mapper

/**
 * 分页查询
 * @param categoryPageQueryDTO
 * @return
 */
Page<Category> pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);

mapper.xml

<select id="pageQuery" resultType="com.sky.entity.Category">
    select * from category
    <where>
        <if test="name != null and name != ''">
            and name like concat('%',#{name},'%')
        </if>
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值